Home | History | Annotate | Download | only in SimplifyCFG
      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 
      9 declare void @noop()
     10 
     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
     25 }
     26 
     27