From 56998cdc5b2da7cb692525c1c9990e1d5e8e78f2 Mon Sep 17 00:00:00 2001 From: Dan Gohman Date: Fri, 30 Oct 2009 23:16:10 +0000 Subject: [PATCH] Add a testcase for the recent duplicate PHI elimination changes. llvm-svn: 85636 --- .../Transforms/SimplifyCFG/duplicate-phis.ll | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 llvm/test/Transforms/SimplifyCFG/duplicate-phis.ll diff --git a/llvm/test/Transforms/SimplifyCFG/duplicate-phis.ll b/llvm/test/Transforms/SimplifyCFG/duplicate-phis.ll new file mode 100644 index 000000000000..a1e511398004 --- /dev/null +++ b/llvm/test/Transforms/SimplifyCFG/duplicate-phis.ll @@ -0,0 +1,21 @@ +; RUN: opt < %s -instcombine -simplifycfg -S | grep { = phi } | count 1 + +; instcombine should sort the PHI operands so that simplifycfg can see the +; duplicate and remove it. + +define i32 @foo(i1 %t) { +entry: + call void @bar() + br i1 %t, label %true, label %false, +true: + call void @bar() + br label %false +false: + %a = phi i32 [ 2, %true ], [ 5, %entry ] + %b = phi i32 [ 5, %entry ], [ 2, %true ] + call void @bar() + %c = add i32 %a, %b + ret i32 %c +} + +declare void @bar()