blob: 33167bd5c661d1aa9d9ffdd62a3c1f6db0fde07b [file] [log] [blame]
Dan Gohman3c7d3082009-09-11 18:01:28 +00001; RUN: opt < %s -simplifycfg -S | grep {br i1 } | count 4
Chris Lattnerf5a6c932009-01-19 23:03:13 +00002; PR3354
3; Do not merge bb1 into the entry block, it might trap.
4
5@G = extern_weak global i32
6
7define i32 @test(i32 %tmp21, i32 %tmp24) {
8 %tmp25 = icmp sle i32 %tmp21, %tmp24
9 br i1 %tmp25, label %bb2, label %bb1
10
11bb1: ; 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
14bb2:
15 ret i32 42
16
17bb6:
18 unwind
19}
20
Chris Lattner3026b882009-01-20 01:15:41 +000021define i32 @test2(i32 %tmp21, i32 %tmp24, i1 %tmp34) {
22 br i1 %tmp34, label %bb5, label %bb6
23
24bb5: ; preds = %bb4
Chris Lattner89834572009-01-22 07:08:58 +000025 br i1 icmp sgt (i32 sdiv (i32 32767, i32 ptrtoint (i32* @G to i32)), i32 0), label %bb6, label %bb7
Chris Lattner3026b882009-01-20 01:15:41 +000026bb6:
27 ret i32 42
28bb7:
29 unwind
30}
31