blob: 08ff2905db503a1144580aca1264cf73eac81e62 [file] [log] [blame]
Dan Gohmanf17a25c2007-07-18 16:29:46 +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: llvm-upgrade < %s | llvm-as | opt -simplifycfg | llvm-dis | \
7; RUN: not grep {br bool %c2}
8
9declare void %noop()
10
11int %test(bool %c1, bool %c2) {
12 call void %noop()
13 br bool %c1, label %A, label %Y
14A:
15 call void %noop()
16 br bool %c2, label %Z, label %X ; Can be converted to unconditional br
17Z:
18 br label %X
19X:
20 call void %noop()
21 ret int 0
22Y:
23 call void %noop()
24 br label %X
25}