Merge branch 'master' into msp430
[llvm/msp430.git] / test / Transforms / SimplifyCFG / 2003-08-17-BranchFoldOrdering.ll
bloba307573d3d338140c9d14d56a22decfaabc501b7
1 ; This test checks to make sure that 'br X, Dest, Dest' is folded into 
2 ; 'br Dest'.  This can only happen after the 'Z' block is eliminated.  This is
3 ; due to the fact that the SimplifyCFG function does not use 
4 ; the ConstantFoldTerminator function.
6 ; RUN: llvm-as < %s | opt -simplifycfg | llvm-dis | \
7 ; RUN:   not grep {br i1 %c2}
9 declare void @noop()
11 define i32 @test(i1 %c1, i1 %c2) {
12         call void @noop( )
13         br i1 %c1, label %A, label %Y
14 A:              ; preds = %0
15         call void @noop( )
16         br i1 %c2, label %Z, label %X
17 Z:              ; preds = %A
18         br label %X
19 X:              ; preds = %Y, %Z, %A
20         call void @noop( )
21         ret i32 0
22 Y:              ; preds = %0
23         call void @noop( )
24         br label %X