blob: cbc54bee21bc6c6f45bac9cb2f67fdf1b69c29d4 [file] [log] [blame]
Tanya Lattnerce7d5db2008-03-19 05:39:35 +00001; RUN: llvm-as < %s | \
Reid Spencereb1d74e2007-04-16 17:36:08 +00002; RUN: opt -predsimplify -instcombine -simplifycfg | llvm-dis | \
Dan Gohman43c3db32007-08-15 13:49:33 +00003; RUN: grep -v declare | grep pass | count 2
Nick Lewycky30b3b1c2006-10-26 02:33:51 +00004
Tanya Lattnerce7d5db2008-03-19 05:39:35 +00005define i32 @test(i32 %x, i32 %y) {
Nick Lewycky30b3b1c2006-10-26 02:33:51 +00006entry:
Tanya Lattnerce7d5db2008-03-19 05:39:35 +00007 %tmp2 = icmp slt i32 %x, %y ; <i1> [#uses=1]
8 %tmp = icmp ne i1 %tmp2, true ; <i1> [#uses=1]
9 br i1 %tmp, label %cond_true, label %return
Nick Lewycky30b3b1c2006-10-26 02:33:51 +000010cond_true: ; preds = %entry
Tanya Lattnerce7d5db2008-03-19 05:39:35 +000011 %tmp4 = icmp eq i32 %x, %y ; <i1> [#uses=1]
12 br i1 %tmp4, label %cond_true5, label %cond_false
Nick Lewycky30b3b1c2006-10-26 02:33:51 +000013cond_true5: ; preds = %cond_true
Tanya Lattnerce7d5db2008-03-19 05:39:35 +000014 %tmp6 = call i32 @pass1( ) ; <i32> [#uses=1]
15 ret i32 %tmp6
16cond_false: ; preds = %cond_true
17 %tmp8 = call i32 @pass2( ) ; <i32> [#uses=1]
18 ret i32 %tmp8
19return: ; preds = %entry
20 ret i32 0
Nick Lewycky30b3b1c2006-10-26 02:33:51 +000021}
22
Tanya Lattnerce7d5db2008-03-19 05:39:35 +000023declare i32 @pass1()
24
25declare i32 @pass2()
26