fix a testcase.
[oota-llvm.git] / test / Transforms / SimplifyCFG / 2009-01-19-UnconditionalTrappingConstantExpr.ll
1 ; RUN: llvm-as < %s | opt -simplifycfg | llvm-dis | grep {br i1 } | count 4
2 ; PR3354
3 ; Do not merge bb1 into the entry block, it might trap.
4
5 @G = extern_weak global i32
6
7 define i32 @test(i32 %tmp21, i32 %tmp24) {
8         %tmp25 = icmp sle i32 %tmp21, %tmp24            
9         br i1 %tmp25, label %bb2, label %bb1    
10                                         
11 bb1:            ; preds = %bb   
12         %tmp26 = icmp sgt i32 sdiv (i32 -32768, i32 ptrtoint (i32* @G to i32)), 0
13         br i1 %tmp26, label %bb6, label %bb2            
14 bb2:
15         ret i32 42
16
17 bb6:
18         unwind
19 }
20
21 define i32 @test2(i32 %tmp21, i32 %tmp24, i1 %tmp34) {
22         br i1 %tmp34, label %bb5, label %bb6
23
24 bb5:            ; preds = %bb4
25         br i1 icmp sgt (i32 sdiv (i32 32767, i32 ptrtoint (i32* @G to i32)), i32 0), label %bb6, label %bb7
26 bb6:
27         ret i32 42
28 bb7:
29         unwind
30 }
31