; due to the fact that the SimplifyCFG function does not use
; the ConstantFoldTerminator function.
-; RUN: llvm-as < %s | opt -simplifycfg | llvm-dis | not grep 'br bool %c2'
+; RUN: opt < %s -simplifycfg -S | FileCheck %s
-declare void %noop()
+; CHECK-NOT: br i1 %c2
-int %test(bool %c1, bool %c2) {
- call void %noop()
- br bool %c1, label %A, label %Y
-A:
- call void %noop()
- br bool %c2, label %Z, label %X ; Can be converted to unconditional br
-Z:
+declare void @noop()
+
+define i32 @test(i1 %c1, i1 %c2) {
+ call void @noop( )
+ br i1 %c1, label %A, label %Y
+A: ; preds = %0
+ call void @noop( )
+ br i1 %c2, label %Z, label %X
+Z: ; preds = %A
br label %X
-X:
- call void %noop()
- ret int 0
-Y:
- call void %noop()
+X: ; preds = %Y, %Z, %A
+ call void @noop( )
+ ret i32 0
+Y: ; preds = %0
+ call void @noop( )
br label %X
}
+