blob: 568e61c6ac6de9fdc83d062a06ef3056583e1148 [file] [log] [blame]
Dan Gohmanf2f6ce62009-09-11 18:01:28 +00001; RUN: opt < %s -simplifycfg -S | grep {br i1 } | count 4
Chris Lattner6ff645b2009-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:
Bill Wendling47e208b2011-09-02 22:41:11 +000018 ret i32 927
Chris Lattner6ff645b2009-01-19 23:03:13 +000019}
20
Chris Lattner63bf29b2009-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 Lattner1c2ad9f2009-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 Lattner63bf29b2009-01-20 01:15:41 +000026bb6:
27 ret i32 42
28bb7:
Bill Wendling47e208b2011-09-02 22:41:11 +000029 ret i32 927
Chris Lattner63bf29b2009-01-20 01:15:41 +000030}
31