[InstCombine] Signed saturation patterns
[llvm-complete.git] / test / Transforms / SimplifyCFG / 2003-08-17-BranchFoldOrdering.ll
blob78049080a64eb9b738e83a26f226d0809e6fa436
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: opt < %s -simplifycfg -S | FileCheck %s
8 ; CHECK-NOT: br i1 %c2
10 declare void @noop()
12 define i32 @test(i1 %c1, i1 %c2) {
13         call void @noop( )
14         br i1 %c1, label %A, label %Y
15 A:              ; preds = %0
16         call void @noop( )
17         br i1 %c2, label %Z, label %X
18 Z:              ; preds = %A
19         br label %X
20 X:              ; preds = %Y, %Z, %A
21         call void @noop( )
22         ret i32 0
23 Y:              ; preds = %0
24         call void @noop( )
25         br label %X