In some rare cases, the register allocator can spill registers but end up not utilizi...
[llvm/msp430.git] / test / Transforms / SimplifyCFG / PhiBlockMerge2.ll
blob24b3d118e7bceee12e4f8caa94df710ba63348cd
1 ; Test merging of blocks that only have PHI nodes in them.  This tests the case
2 ; where the mergedinto block doesn't have any PHI nodes, and is in fact 
3 ; dominated by the block-to-be-eliminated
5 ; RUN: llvm-as < %s | opt -simplifycfg | llvm-dis | not grep N:
8 declare i1 @foo()
10 define i32 @test(i1 %a, i1 %b) {
11         %c = call i1 @foo()
12         br i1 %c, label %N, label %P
14         %d = call i1 @foo()
15         br i1 %d, label %N, label %Q
17         br label %N
19         %W = phi i32 [0, %0], [1, %Q], [2, %P]
20         ; This block should be foldable into M
21         br label %M
24         %R = add i32 %W, 1
25         ret i32 %R