blob: 78049080a64eb9b738e83a26f226d0809e6fa436 [file] [log] [blame]
Eric Christophercee313d2019-04-17 04:52:47 +00001; 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.
5
6; RUN: opt < %s -simplifycfg -S | FileCheck %s
7
8; CHECK-NOT: br i1 %c2
9
10declare void @noop()
11
12define i32 @test(i1 %c1, i1 %c2) {
13 call void @noop( )
14 br i1 %c1, label %A, label %Y
15A: ; preds = %0
16 call void @noop( )
17 br i1 %c2, label %Z, label %X
18Z: ; preds = %A
19 br label %X
20X: ; preds = %Y, %Z, %A
21 call void @noop( )
22 ret i32 0
23Y: ; preds = %0
24 call void @noop( )
25 br label %X
26}
27