• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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.
5
6; RUN: opt < %s -simplifycfg -S | \
7; RUN:   not grep {br i1 %c2}
8
9declare void @noop()
10
11define i32 @test(i1 %c1, i1 %c2) {
12	call void @noop( )
13	br i1 %c1, label %A, label %Y
14A:		; preds = %0
15	call void @noop( )
16	br i1 %c2, label %Z, label %X
17Z:		; preds = %A
18	br label %X
19X:		; preds = %Y, %Z, %A
20	call void @noop( )
21	ret i32 0
22Y:		; preds = %0
23	call void @noop( )
24	br label %X
25}
26
27