When removing a function from the function set and adding it to deferred, we
[llvm.git] / test / Transforms / SCCP / phitest.ll
blob4c5c3dcc6904543ddb81351a3a545b6b1ac6298c
1 ; RUN: opt < %s -sccp -dce -simplifycfg -S | not grep br
3 define i32 @test(i32 %param) {
4 entry:
5         %tmp.1 = icmp ne i32 %param, 0          ; <i1> [#uses=1]
6         br i1 %tmp.1, label %endif.0, label %else
7 else:           ; preds = %entry
8         br label %endif.0
9 endif.0:                ; preds = %else, %entry
10         %a.0 = phi i32 [ 2, %else ], [ 3, %entry ]              ; <i32> [#uses=1]
11         %b.0 = phi i32 [ 3, %else ], [ 2, %entry ]              ; <i32> [#uses=1]
12         %tmp.5 = add i32 %a.0, %b.0             ; <i32> [#uses=1]
13         %tmp.7 = icmp ne i32 %tmp.5, 5          ; <i1> [#uses=1]
14         br i1 %tmp.7, label %UnifiedReturnBlock, label %endif.1
15 endif.1:                ; preds = %endif.0
16         ret i32 0
17 UnifiedReturnBlock:             ; preds = %endif.0
18         ret i32 2