| ; RUN: llc < %s -mtriple=x86_64-apple-darwin10 | 
 |  | 
 | define i32 @main(i32 %argc, i8** nocapture %argv) nounwind ssp { | 
 | entry: | 
 |   br i1 undef, label %bb, label %bb1 | 
 |  | 
 | bb:                                               ; preds = %entry | 
 |   ret i32 3 | 
 |  | 
 | bb1:                                              ; preds = %entry | 
 |   br i1 undef, label %bb3, label %bb2 | 
 |  | 
 | bb2:                                              ; preds = %bb1 | 
 |   ret i32 3 | 
 |  | 
 | bb3:                                              ; preds = %bb1 | 
 |   br i1 undef, label %bb.i18, label %quantum_getwidth.exit | 
 |  | 
 | bb.i18:                                           ; preds = %bb.i18, %bb3 | 
 |   br i1 undef, label %bb.i18, label %quantum_getwidth.exit | 
 |  | 
 | quantum_getwidth.exit:                            ; preds = %bb.i18, %bb3 | 
 |   br i1 undef, label %bb4, label %bb6.preheader | 
 |  | 
 | bb4:                                              ; preds = %quantum_getwidth.exit | 
 |   unreachable | 
 |  | 
 | bb6.preheader:                                    ; preds = %quantum_getwidth.exit | 
 |   br i1 undef, label %bb.i1, label %bb1.i2 | 
 |  | 
 | bb.i1:                                            ; preds = %bb6.preheader | 
 |   unreachable | 
 |  | 
 | bb1.i2:                                           ; preds = %bb6.preheader | 
 |   br i1 undef, label %bb2.i, label %bb3.i4 | 
 |  | 
 | bb2.i:                                            ; preds = %bb1.i2 | 
 |   unreachable | 
 |  | 
 | bb3.i4:                                           ; preds = %bb1.i2 | 
 |   br i1 undef, label %quantum_new_qureg.exit, label %bb4.i | 
 |  | 
 | bb4.i:                                            ; preds = %bb3.i4 | 
 |   unreachable | 
 |  | 
 | quantum_new_qureg.exit:                           ; preds = %bb3.i4 | 
 |   br i1 undef, label %bb9, label %bb11.thread | 
 |  | 
 | bb11.thread:                                      ; preds = %quantum_new_qureg.exit | 
 |   %.cast.i = zext i32 undef to i64                ; <i64> [#uses=1] | 
 |   br label %bb.i37 | 
 |  | 
 | bb9:                                              ; preds = %quantum_new_qureg.exit | 
 |   unreachable | 
 |  | 
 | bb.i37:                                           ; preds = %bb.i37, %bb11.thread | 
 |   %0 = load i64* undef, align 8                   ; <i64> [#uses=1] | 
 |   %1 = shl i64 %0, %.cast.i                       ; <i64> [#uses=1] | 
 |   store i64 %1, i64* undef, align 8 | 
 |   br i1 undef, label %bb.i37, label %quantum_addscratch.exit | 
 |  | 
 | quantum_addscratch.exit:                          ; preds = %bb.i37 | 
 |   br i1 undef, label %bb12.preheader, label %bb14 | 
 |  | 
 | bb12.preheader:                                   ; preds = %quantum_addscratch.exit | 
 |   unreachable | 
 |  | 
 | bb14:                                             ; preds = %quantum_addscratch.exit | 
 |   br i1 undef, label %bb17, label %bb.nph | 
 |  | 
 | bb.nph:                                           ; preds = %bb14 | 
 |   unreachable | 
 |  | 
 | bb17:                                             ; preds = %bb14 | 
 |   br i1 undef, label %bb1.i7, label %quantum_measure.exit | 
 |  | 
 | bb1.i7:                                           ; preds = %bb17 | 
 |   br label %quantum_measure.exit | 
 |  | 
 | quantum_measure.exit:                             ; preds = %bb1.i7, %bb17 | 
 |   switch i32 undef, label %bb21 [ | 
 |     i32 -1, label %bb18 | 
 |     i32 0, label %bb20 | 
 |   ] | 
 |  | 
 | bb18:                                             ; preds = %quantum_measure.exit | 
 |   unreachable | 
 |  | 
 | bb20:                                             ; preds = %quantum_measure.exit | 
 |   unreachable | 
 |  | 
 | bb21:                                             ; preds = %quantum_measure.exit | 
 |   br i1 undef, label %quantum_frac_approx.exit, label %bb1.i | 
 |  | 
 | bb1.i:                                            ; preds = %bb21 | 
 |   unreachable | 
 |  | 
 | quantum_frac_approx.exit:                         ; preds = %bb21 | 
 |   br i1 undef, label %bb25, label %bb26 | 
 |  | 
 | bb25:                                             ; preds = %quantum_frac_approx.exit | 
 |   unreachable | 
 |  | 
 | bb26:                                             ; preds = %quantum_frac_approx.exit | 
 |   br i1 undef, label %quantum_gcd.exit, label %bb.i | 
 |  | 
 | bb.i:                                             ; preds = %bb.i, %bb26 | 
 |   br i1 undef, label %quantum_gcd.exit, label %bb.i | 
 |  | 
 | quantum_gcd.exit:                                 ; preds = %bb.i, %bb26 | 
 |   br i1 undef, label %bb32, label %bb33 | 
 |  | 
 | bb32:                                             ; preds = %quantum_gcd.exit | 
 |   br i1 undef, label %bb.i.i, label %quantum_delete_qureg.exit | 
 |  | 
 | bb.i.i:                                           ; preds = %bb32 | 
 |   ret i32 0 | 
 |  | 
 | quantum_delete_qureg.exit:                        ; preds = %bb32 | 
 |   ret i32 0 | 
 |  | 
 | bb33:                                             ; preds = %quantum_gcd.exit | 
 |   unreachable | 
 | } |