From 54636af39d0cd384528e8c36c90434fbfb9dd114 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Wed, 11 Feb 2004 03:35:04 +0000 Subject: [PATCH] New feature testcase for simplifycfg. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11306 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/Transforms/SimplifyCFG/PhiEliminate.ll | 35 +++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 test/Transforms/SimplifyCFG/PhiEliminate.ll diff --git a/test/Transforms/SimplifyCFG/PhiEliminate.ll b/test/Transforms/SimplifyCFG/PhiEliminate.ll new file mode 100644 index 00000000000..05cbe89bda5 --- /dev/null +++ b/test/Transforms/SimplifyCFG/PhiEliminate.ll @@ -0,0 +1,35 @@ +; Test a bunch of cases where the cfg simplification code should +; be able to fold PHI nodes into computation in common cases. Folding the PHI +; nodes away allows the branches to be eliminated, performing a simple form of +; 'if conversion'. + +; RUN: llvm-as < %s | opt -simplifycfg | llvm-dis > Output/%s.xform +; RUN: not grep phi Output/%s.xform && grep ret Output/%s.xform + +declare void %use(bool) +declare void %use(int) + +void %test(bool %c, int %V) { + br bool %c, label %T, label %F +T: + br label %F +F: + %B1 = phi bool [true, %0], [false, %T] + %B2 = phi bool [true, %T], [false, %0] + %I1 = phi int [1, %T], [0, %0] + %I2 = phi int [1, %0], [0, %T] + %I3 = phi int [17, %T], [0, %0] + %I4 = phi int [17, %T], [5, %0] + %I5 = phi int [%V, %T], [0, %0] + %I6 = phi int [%V, %0], [0, %T] + call void %use(bool %B1) + call void %use(bool %B2) + call void %use(int %I1) + call void %use(int %I2) + call void %use(int %I3) + call void %use(int %I4) + call void %use(int %I5) + call void %use(int %I6) + ret void +} + -- 2.34.1