mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-03-20 11:32:33 +00:00
New feature testcase for simplifycfg.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11306 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
82a5ff4c54
commit
54636af39d
35
test/Transforms/SimplifyCFG/PhiEliminate.ll
Normal file
35
test/Transforms/SimplifyCFG/PhiEliminate.ll
Normal file
@ -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
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user