In some rare cases, the register allocator can spill registers but end up not utilizi...
[llvm/msp430.git] / test / Transforms / SCCP / phitest.ll
blobc75de5dde8fa609ce6879a5b1b6af661ba4af2c2
1 ; RUN: llvm-as < %s | opt -sccp -dce -simplifycfg | llvm-dis | \
2 ; RUN:   not grep br
4 define i32 @test(i32 %param) {
5 entry:
6         %tmp.1 = icmp ne i32 %param, 0          ; <i1> [#uses=1]
7         br i1 %tmp.1, label %endif.0, label %else
8 else:           ; preds = %entry
9         br label %endif.0
10 endif.0:                ; preds = %else, %entry
11         %a.0 = phi i32 [ 2, %else ], [ 3, %entry ]              ; <i32> [#uses=1]
12         %b.0 = phi i32 [ 3, %else ], [ 2, %entry ]              ; <i32> [#uses=1]
13         %tmp.5 = add i32 %a.0, %b.0             ; <i32> [#uses=1]
14         %tmp.7 = icmp ne i32 %tmp.5, 5          ; <i1> [#uses=1]
15         br i1 %tmp.7, label %UnifiedReturnBlock, label %endif.1
16 endif.1:                ; preds = %endif.0
17         ret i32 0
18 UnifiedReturnBlock:             ; preds = %endif.0
19         ret i32 2