diff --git a/test/Transforms/SCCP/phitest.ll b/test/Transforms/SCCP/phitest.ll new file mode 100644 index 00000000000..18f862a1a23 --- /dev/null +++ b/test/Transforms/SCCP/phitest.ll @@ -0,0 +1,23 @@ +; RUN: llvm-as < %s | opt -sccp -dce -simplifycfg | llvm-dis | not grep br + +int %test(int %param) { +entry: + %tmp.1 = setne int %param, 0 + br bool %tmp.1, label %endif.0, label %else + +else: + br label %endif.0 + +endif.0: + %a.0 = phi int [ 2, %else ], [ 3, %entry ] + %b.0 = phi int [ 3, %else ], [ 2, %entry ] + %tmp.5 = add int %a.0, %b.0 + %tmp.7 = setne int %tmp.5, 5 + br bool %tmp.7, label %UnifiedReturnBlock, label %endif.1 + +endif.1: + ret int 0 + +UnifiedReturnBlock: + ret int 2 +}