1; RUN: llc < %s -mtriple=x86_64-apple-darwin10
2
3define i32 @main(i32 %argc, i8** nocapture %argv) nounwind ssp {
4entry:
5  br i1 undef, label %bb, label %bb1
6
7bb:                                               ; preds = %entry
8  ret i32 3
9
10bb1:                                              ; preds = %entry
11  br i1 undef, label %bb3, label %bb2
12
13bb2:                                              ; preds = %bb1
14  ret i32 3
15
16bb3:                                              ; preds = %bb1
17  br i1 undef, label %bb.i18, label %quantum_getwidth.exit
18
19bb.i18:                                           ; preds = %bb.i18, %bb3
20  br i1 undef, label %bb.i18, label %quantum_getwidth.exit
21
22quantum_getwidth.exit:                            ; preds = %bb.i18, %bb3
23  br i1 undef, label %bb4, label %bb6.preheader
24
25bb4:                                              ; preds = %quantum_getwidth.exit
26  unreachable
27
28bb6.preheader:                                    ; preds = %quantum_getwidth.exit
29  br i1 undef, label %bb.i1, label %bb1.i2
30
31bb.i1:                                            ; preds = %bb6.preheader
32  unreachable
33
34bb1.i2:                                           ; preds = %bb6.preheader
35  br i1 undef, label %bb2.i, label %bb3.i4
36
37bb2.i:                                            ; preds = %bb1.i2
38  unreachable
39
40bb3.i4:                                           ; preds = %bb1.i2
41  br i1 undef, label %quantum_new_qureg.exit, label %bb4.i
42
43bb4.i:                                            ; preds = %bb3.i4
44  unreachable
45
46quantum_new_qureg.exit:                           ; preds = %bb3.i4
47  br i1 undef, label %bb9, label %bb11.thread
48
49bb11.thread:                                      ; preds = %quantum_new_qureg.exit
50  %.cast.i = zext i32 undef to i64                ; <i64> [#uses=1]
51  br label %bb.i37
52
53bb9:                                              ; preds = %quantum_new_qureg.exit
54  unreachable
55
56bb.i37:                                           ; preds = %bb.i37, %bb11.thread
57  %0 = load i64, i64* undef, align 8                   ; <i64> [#uses=1]
58  %1 = shl i64 %0, %.cast.i                       ; <i64> [#uses=1]
59  store i64 %1, i64* undef, align 8
60  br i1 undef, label %bb.i37, label %quantum_addscratch.exit
61
62quantum_addscratch.exit:                          ; preds = %bb.i37
63  br i1 undef, label %bb12.preheader, label %bb14
64
65bb12.preheader:                                   ; preds = %quantum_addscratch.exit
66  unreachable
67
68bb14:                                             ; preds = %quantum_addscratch.exit
69  br i1 undef, label %bb17, label %bb.nph
70
71bb.nph:                                           ; preds = %bb14
72  unreachable
73
74bb17:                                             ; preds = %bb14
75  br i1 undef, label %bb1.i7, label %quantum_measure.exit
76
77bb1.i7:                                           ; preds = %bb17
78  br label %quantum_measure.exit
79
80quantum_measure.exit:                             ; preds = %bb1.i7, %bb17
81  switch i32 undef, label %bb21 [
82    i32 -1, label %bb18
83    i32 0, label %bb20
84  ]
85
86bb18:                                             ; preds = %quantum_measure.exit
87  unreachable
88
89bb20:                                             ; preds = %quantum_measure.exit
90  unreachable
91
92bb21:                                             ; preds = %quantum_measure.exit
93  br i1 undef, label %quantum_frac_approx.exit, label %bb1.i
94
95bb1.i:                                            ; preds = %bb21
96  unreachable
97
98quantum_frac_approx.exit:                         ; preds = %bb21
99  br i1 undef, label %bb25, label %bb26
100
101bb25:                                             ; preds = %quantum_frac_approx.exit
102  unreachable
103
104bb26:                                             ; preds = %quantum_frac_approx.exit
105  br i1 undef, label %quantum_gcd.exit, label %bb.i
106
107bb.i:                                             ; preds = %bb.i, %bb26
108  br i1 undef, label %quantum_gcd.exit, label %bb.i
109
110quantum_gcd.exit:                                 ; preds = %bb.i, %bb26
111  br i1 undef, label %bb32, label %bb33
112
113bb32:                                             ; preds = %quantum_gcd.exit
114  br i1 undef, label %bb.i.i, label %quantum_delete_qureg.exit
115
116bb.i.i:                                           ; preds = %bb32
117  ret i32 0
118
119quantum_delete_qureg.exit:                        ; preds = %bb32
120  ret i32 0
121
122bb33:                                             ; preds = %quantum_gcd.exit
123  unreachable
124}
125