microsoft/qdk
Publicmirrored from https://github.com/microsoft/qdkAvailable
source/pip/tests-integration/resources/adaptive_ri/output/CopyAndUpdateExpressions.ll
52lines · modecode
| 1 | %Result = type opaque |
| 2 | %Qubit = type opaque |
| 3 | |
| 4 | define void @ENTRYPOINT__main() #0 { |
| 5 | block_0: |
| 6 | call void @__quantum__qis__x__body(%Qubit* inttoptr (i64 0 to %Qubit*)) |
| 7 | call void @__quantum__qis__mresetz__body(%Qubit* inttoptr (i64 0 to %Qubit*), %Result* inttoptr (i64 0 to %Result*)) |
| 8 | call void @__quantum__qis__mresetz__body(%Qubit* inttoptr (i64 1 to %Qubit*), %Result* inttoptr (i64 1 to %Result*)) |
| 9 | call void @__quantum__qis__x__body(%Qubit* inttoptr (i64 2 to %Qubit*)) |
| 10 | call void @__quantum__qis__m__body(%Qubit* inttoptr (i64 2 to %Qubit*), %Result* inttoptr (i64 2 to %Result*)) |
| 11 | call void @__quantum__qis__m__body(%Qubit* inttoptr (i64 3 to %Qubit*), %Result* inttoptr (i64 3 to %Result*)) |
| 12 | call void @__quantum__qis__m__body(%Qubit* inttoptr (i64 4 to %Qubit*), %Result* inttoptr (i64 4 to %Result*)) |
| 13 | call void @__quantum__qis__x__body(%Qubit* inttoptr (i64 3 to %Qubit*)) |
| 14 | call void @__quantum__qis__x__body(%Qubit* inttoptr (i64 4 to %Qubit*)) |
| 15 | call void @__quantum__qis__m__body(%Qubit* inttoptr (i64 3 to %Qubit*), %Result* inttoptr (i64 5 to %Result*)) |
| 16 | call void @__quantum__qis__m__body(%Qubit* inttoptr (i64 4 to %Qubit*), %Result* inttoptr (i64 6 to %Result*)) |
| 17 | call void @__quantum__rt__tuple_record_output(i64 3, i8* null) |
| 18 | call void @__quantum__rt__array_record_output(i64 1, i8* null) |
| 19 | call void @__quantum__rt__result_record_output(%Result* inttoptr (i64 0 to %Result*), i8* null) |
| 20 | call void @__quantum__rt__array_record_output(i64 1, i8* null) |
| 21 | call void @__quantum__rt__result_record_output(%Result* inttoptr (i64 1 to %Result*), i8* null) |
| 22 | call void @__quantum__rt__array_record_output(i64 3, i8* null) |
| 23 | call void @__quantum__rt__result_record_output(%Result* inttoptr (i64 2 to %Result*), i8* null) |
| 24 | call void @__quantum__rt__result_record_output(%Result* inttoptr (i64 5 to %Result*), i8* null) |
| 25 | call void @__quantum__rt__result_record_output(%Result* inttoptr (i64 6 to %Result*), i8* null) |
| 26 | ret void |
| 27 | } |
| 28 | |
| 29 | declare void @__quantum__qis__x__body(%Qubit*) |
| 30 | |
| 31 | declare void @__quantum__qis__mresetz__body(%Qubit*, %Result*) #1 |
| 32 | |
| 33 | declare void @__quantum__qis__m__body(%Qubit*, %Result*) #1 |
| 34 | |
| 35 | declare void @__quantum__rt__tuple_record_output(i64, i8*) |
| 36 | |
| 37 | declare void @__quantum__rt__array_record_output(i64, i8*) |
| 38 | |
| 39 | declare void @__quantum__rt__result_record_output(%Result*, i8*) |
| 40 | |
| 41 | attributes #0 = { "entry_point" "output_labeling_schema" "qir_profiles"="adaptive_profile" "required_num_qubits"="5" "required_num_results"="7" } |
| 42 | attributes #1 = { "irreversible" } |
| 43 | |
| 44 | ; module flags |
| 45 | |
| 46 | !llvm.module.flags = !{!0, !1, !2, !3, !4} |
| 47 | |
| 48 | !0 = !{i32 1, !"qir_major_version", i32 1} |
| 49 | !1 = !{i32 7, !"qir_minor_version", i32 0} |
| 50 | !2 = !{i32 1, !"dynamic_qubit_management", i1 false} |
| 51 | !3 = !{i32 1, !"dynamic_result_management", i1 false} |
| 52 | !4 = !{i32 1, !"int_computations", !"i64"} |
| 53 | |