llvm-6502/test/Transforms/SimplifyCFG/PhiEliminate.ll
John Criswell 2942e6356b Modify test to use the %t substition (temporary name). This is available
in the QMTest Testrunner tests.
Please note that putting output files in the Output directory no longer
works, as QMTest does not build Output directories anymore (nor does the
test run in a separate subdirectory, anyway).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12466 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-17 02:31:29 +00:00

36 lines
987 B
LLVM

; 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 > %t.xform
; RUN: not grep phi %t.xform && grep ret %t.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
}