2009-09-09 00:34:10 +02:00
|
|
|
; RUN: opt %s -sccp -dce -simplifycfg -S | \
|
2007-04-15 11:21:47 +02:00
|
|
|
; RUN: not grep br
|
2004-01-12 04:57:00 +01:00
|
|
|
|
2008-03-19 05:14:49 +01:00
|
|
|
define i32 @test(i32 %param) {
|
2004-01-12 04:57:00 +01:00
|
|
|
entry:
|
2008-03-19 05:14:49 +01:00
|
|
|
%tmp.1 = icmp ne i32 %param, 0 ; <i1> [#uses=1]
|
|
|
|
br i1 %tmp.1, label %endif.0, label %else
|
|
|
|
else: ; preds = %entry
|
2004-01-12 04:57:00 +01:00
|
|
|
br label %endif.0
|
2008-03-19 05:14:49 +01:00
|
|
|
endif.0: ; preds = %else, %entry
|
|
|
|
%a.0 = phi i32 [ 2, %else ], [ 3, %entry ] ; <i32> [#uses=1]
|
|
|
|
%b.0 = phi i32 [ 3, %else ], [ 2, %entry ] ; <i32> [#uses=1]
|
|
|
|
%tmp.5 = add i32 %a.0, %b.0 ; <i32> [#uses=1]
|
|
|
|
%tmp.7 = icmp ne i32 %tmp.5, 5 ; <i1> [#uses=1]
|
|
|
|
br i1 %tmp.7, label %UnifiedReturnBlock, label %endif.1
|
|
|
|
endif.1: ; preds = %endif.0
|
|
|
|
ret i32 0
|
|
|
|
UnifiedReturnBlock: ; preds = %endif.0
|
|
|
|
ret i32 2
|
2004-01-12 04:57:00 +01:00
|
|
|
}
|
2008-03-19 05:14:49 +01:00
|
|
|
|