From ff2ab4db20a0b28724ebcd24f66d3f74c3884a91 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Mon, 12 Jan 2004 03:57:00 +0000 Subject: [PATCH] New testcase, allow folding of binary operators that use PHI nodes, as long as the result of the binary operator is always constant. This does not require the PHI itself to be constant though. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10762 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/Transforms/SCCP/phitest.ll | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 test/Transforms/SCCP/phitest.ll 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 +} -- 2.34.1