Fix edge cases in handling basic block split.
[llvm-complete.git] / test / CodeGen / PowerPC / 2006-12-07-SelectCrash.ll
blob6fa410e6fa59509b273a274e7b8bfd74d0d32b8f
1 ; RUN: llvm-upgrade < %s | llvm-as | llc -march=ppc64
2 ; RUN: llvm-upgrade < %s | llvm-as | llc -march=ppc32
3 ; RUN: llvm-upgrade < %s | llvm-as | llc
5 %qsz.b = external global bool           ; <bool*> [#uses=1]
7 implementation   ; Functions:
9 fastcc void %qst() {
10 entry:
11         br bool true, label %cond_next71, label %cond_true
13 cond_true:              ; preds = %entry
14         ret void
16 cond_next71:            ; preds = %entry
17         %tmp73.b = load bool* %qsz.b            ; <bool> [#uses=1]
18         %ii.4.ph = select bool %tmp73.b, ulong 4, ulong 0               ; <ulong> [#uses=1]
19         br label %bb139
21 bb82:           ; preds = %bb139
22         ret void
24 bb139:          ; preds = %bb139, %cond_next71
25         %exitcond89 = seteq ulong 0, %ii.4.ph           ; <bool> [#uses=1]
26         br bool %exitcond89, label %bb82, label %bb139