microsoft/qdk

Public

mirrored from https://github.com/microsoft/qdkAvailable

CodeCommitsIssuesPull requestsActionsInsightsSecurity
v1.19.0

Branches

Tags

  • No tags available.
0Branches0Tags
Go to file
Add file
Code

Clone

HTTPS

Download ZIP

source/pip/tests-integration/resources/adaptive_ri/output/ArithmeticOps.ll

113lines · modecode

1%Result = type opaque
2%Qubit = type opaque
3
4define void @ENTRYPOINT__main() #0 {
5block_0:
6 call void @__quantum__qis__x__body(%Qubit* inttoptr (i64 0 to %Qubit*))
7 call void @__quantum__qis__x__body(%Qubit* inttoptr (i64 1 to %Qubit*))
8 call void @__quantum__qis__x__body(%Qubit* inttoptr (i64 2 to %Qubit*))
9 call void @__quantum__qis__x__body(%Qubit* inttoptr (i64 3 to %Qubit*))
10 call void @__quantum__qis__x__body(%Qubit* inttoptr (i64 4 to %Qubit*))
11 call void @__quantum__qis__m__body(%Qubit* inttoptr (i64 0 to %Qubit*), %Result* inttoptr (i64 0 to %Result*))
12 call void @__quantum__qis__m__body(%Qubit* inttoptr (i64 1 to %Qubit*), %Result* inttoptr (i64 1 to %Result*))
13 call void @__quantum__qis__m__body(%Qubit* inttoptr (i64 2 to %Qubit*), %Result* inttoptr (i64 2 to %Result*))
14 call void @__quantum__qis__m__body(%Qubit* inttoptr (i64 3 to %Qubit*), %Result* inttoptr (i64 3 to %Result*))
15 call void @__quantum__qis__m__body(%Qubit* inttoptr (i64 4 to %Qubit*), %Result* inttoptr (i64 4 to %Result*))
16 %var_8 = call i1 @__quantum__qis__read_result__body(%Result* inttoptr (i64 0 to %Result*))
17 br i1 %var_8, label %block_1, label %block_2
18block_1:
19 br label %block_2
20block_2:
21 %var_39 = phi i64 [1, %block_0], [3, %block_1]
22 %var_38 = phi i64 [10, %block_0], [8, %block_1]
23 %var_37 = phi i64 [0, %block_0], [5, %block_1]
24 %var_36 = phi i64 [0, %block_0], [1, %block_1]
25 %var_10 = call i1 @__quantum__qis__read_result__body(%Result* inttoptr (i64 1 to %Result*))
26 br i1 %var_10, label %block_3, label %block_4
27block_3:
28 %var_12 = add i64 %var_36, 1
29 %var_13 = add i64 %var_37, 5
30 %var_14 = sub i64 %var_38, 2
31 %var_15 = mul i64 %var_39, 3
32 br label %block_4
33block_4:
34 %var_43 = phi i64 [%var_39, %block_2], [%var_15, %block_3]
35 %var_42 = phi i64 [%var_38, %block_2], [%var_14, %block_3]
36 %var_41 = phi i64 [%var_37, %block_2], [%var_13, %block_3]
37 %var_40 = phi i64 [%var_36, %block_2], [%var_12, %block_3]
38 %var_16 = call i1 @__quantum__qis__read_result__body(%Result* inttoptr (i64 2 to %Result*))
39 br i1 %var_16, label %block_5, label %block_6
40block_5:
41 %var_18 = add i64 %var_40, 1
42 %var_19 = add i64 %var_41, 5
43 %var_20 = sub i64 %var_42, 2
44 %var_21 = mul i64 %var_43, 3
45 br label %block_6
46block_6:
47 %var_47 = phi i64 [%var_43, %block_4], [%var_21, %block_5]
48 %var_46 = phi i64 [%var_42, %block_4], [%var_20, %block_5]
49 %var_45 = phi i64 [%var_41, %block_4], [%var_19, %block_5]
50 %var_44 = phi i64 [%var_40, %block_4], [%var_18, %block_5]
51 %var_22 = call i1 @__quantum__qis__read_result__body(%Result* inttoptr (i64 3 to %Result*))
52 br i1 %var_22, label %block_7, label %block_8
53block_7:
54 %var_24 = add i64 %var_44, 1
55 %var_25 = add i64 %var_45, 5
56 %var_26 = sub i64 %var_46, 2
57 %var_27 = mul i64 %var_47, 3
58 br label %block_8
59block_8:
60 %var_51 = phi i64 [%var_47, %block_6], [%var_27, %block_7]
61 %var_50 = phi i64 [%var_46, %block_6], [%var_26, %block_7]
62 %var_49 = phi i64 [%var_45, %block_6], [%var_25, %block_7]
63 %var_48 = phi i64 [%var_44, %block_6], [%var_24, %block_7]
64 %var_28 = call i1 @__quantum__qis__read_result__body(%Result* inttoptr (i64 4 to %Result*))
65 br i1 %var_28, label %block_9, label %block_10
66block_9:
67 %var_30 = add i64 %var_48, 1
68 %var_31 = add i64 %var_49, 5
69 %var_32 = sub i64 %var_50, 2
70 %var_33 = mul i64 %var_51, 3
71 br label %block_10
72block_10:
73 %var_55 = phi i64 [%var_51, %block_8], [%var_33, %block_9]
74 %var_54 = phi i64 [%var_50, %block_8], [%var_32, %block_9]
75 %var_53 = phi i64 [%var_49, %block_8], [%var_31, %block_9]
76 %var_52 = phi i64 [%var_48, %block_8], [%var_30, %block_9]
77 call void @__quantum__qis__reset__body(%Qubit* inttoptr (i64 0 to %Qubit*))
78 call void @__quantum__qis__reset__body(%Qubit* inttoptr (i64 1 to %Qubit*))
79 call void @__quantum__qis__reset__body(%Qubit* inttoptr (i64 2 to %Qubit*))
80 call void @__quantum__qis__reset__body(%Qubit* inttoptr (i64 3 to %Qubit*))
81 call void @__quantum__qis__reset__body(%Qubit* inttoptr (i64 4 to %Qubit*))
82 call void @__quantum__rt__tuple_record_output(i64 4, i8* null)
83 call void @__quantum__rt__int_record_output(i64 %var_52, i8* null)
84 call void @__quantum__rt__int_record_output(i64 %var_53, i8* null)
85 call void @__quantum__rt__int_record_output(i64 %var_54, i8* null)
86 call void @__quantum__rt__int_record_output(i64 %var_55, i8* null)
87 ret void
88}
89
90declare void @__quantum__qis__x__body(%Qubit*)
91
92declare void @__quantum__qis__m__body(%Qubit*, %Result*) #1
93
94declare i1 @__quantum__qis__read_result__body(%Result*)
95
96declare void @__quantum__qis__reset__body(%Qubit*) #1
97
98declare void @__quantum__rt__tuple_record_output(i64, i8*)
99
100declare void @__quantum__rt__int_record_output(i64, i8*)
101
102attributes #0 = { "entry_point" "output_labeling_schema" "qir_profiles"="adaptive_profile" "required_num_qubits"="5" "required_num_results"="5" }
103attributes #1 = { "irreversible" }
104
105; module flags
106
107!llvm.module.flags = !{!0, !1, !2, !3, !4}
108
109!0 = !{i32 1, !"qir_major_version", i32 1}
110!1 = !{i32 7, !"qir_minor_version", i32 0}
111!2 = !{i32 1, !"dynamic_qubit_management", i1 false}
112!3 = !{i32 1, !"dynamic_result_management", i1 false}
113!4 = !{i32 1, !"int_computations", !"i64"}
114