mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-18 12:29:21 +00:00
New testcases
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6412 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
6cf7f6d43d
commit
2cc36e6997
32
test/Transforms/CorrelatedExprs/2002-10-08-DominatorTest.ll
Normal file
32
test/Transforms/CorrelatedExprs/2002-10-08-DominatorTest.ll
Normal file
@ -0,0 +1,32 @@
|
||||
; Test to make sure that SSA is correctly updated
|
||||
; RUN: as < %s | opt -cee
|
||||
;
|
||||
implementation ; Functions:
|
||||
|
||||
int %test(int %A, int %B, bool %c0) {
|
||||
Start: ; No predecessors!
|
||||
%c1 = seteq int %A, %B ; <bool> [#uses=1]
|
||||
br bool %c1, label %Eq, label %Start_crit_edge
|
||||
|
||||
Start_crit_edge: ; preds = %Start
|
||||
br label %Loop
|
||||
|
||||
Eq: ; preds = %Start
|
||||
br label %Loop
|
||||
|
||||
Loop: ; preds = %Bottom, %Eq, %Start_crit_edge
|
||||
%Z = phi int [ %A, %Start_crit_edge ], [ %B, %Eq ], [ %Z, %Bottom ] ; <int> [#uses=2]
|
||||
%c2 = setge int %A, %B ; <bool> [#uses=1]
|
||||
br bool %c2, label %Forwarded, label %Loop_crit_edge
|
||||
|
||||
Loop_crit_edge: ; preds = %Loop
|
||||
br label %Bottom
|
||||
|
||||
Forwarded: ; preds = %Loop
|
||||
%Z2 = phi int [ %Z, %Loop ] ; <int> [#uses=1]
|
||||
call int %test( int 0, int %Z2, bool true ) ; <int>:0 [#uses=0]
|
||||
br label %Bottom
|
||||
|
||||
Bottom: ; preds = %Forwarded, %Loop_crit_edge
|
||||
br label %Loop
|
||||
}
|
34
test/Transforms/CorrelatedExprs/2002-10-08-DominatorTest2.ll
Normal file
34
test/Transforms/CorrelatedExprs/2002-10-08-DominatorTest2.ll
Normal file
@ -0,0 +1,34 @@
|
||||
; Simple test to make sure dominators are updated properly
|
||||
; RUN: as < %s | opt -cee
|
||||
|
||||
implementation ; Functions:
|
||||
|
||||
int %test(int %A, int %B, bool %c0) {
|
||||
Start: ; No predecessors!
|
||||
%c1 = seteq int %A, %B ; <bool> [#uses=1]
|
||||
br bool %c1, label %Eq, label %Start_crit_edge
|
||||
|
||||
Start_crit_edge: ; preds = %Start
|
||||
br label %Loop
|
||||
|
||||
Eq: ; preds = %Start
|
||||
br label %Loop
|
||||
|
||||
Loop: ; preds = %Bottom, %Eq, %Start_crit_edge
|
||||
%Z = phi int [ %A, %Start_crit_edge ], [ %B, %Eq ];, [ %Z, %Bottom ] ; <int> [#uses=2]
|
||||
%c2 = setge int %A, %B ; <bool> [#uses=1]
|
||||
br bool %c2, label %Forwarded, label %Loop_crit_edge
|
||||
|
||||
Loop_crit_edge: ; preds = %Loop
|
||||
%X = seteq int %Z, 7
|
||||
br bool %X, label %Forwarded, label %Bottom
|
||||
|
||||
Forwarded: ; preds = %Loop
|
||||
%Z2 = phi int [ %Z, %Loop ], [%Z, %Loop_crit_edge] ; <int> [#uses=1]
|
||||
call int %test( int %Z, int %Z2, bool true ) ; <int>:0 [#uses=0]
|
||||
br label %Bottom
|
||||
|
||||
Bottom: ; preds = %Forwarded, %Loop_crit_edge
|
||||
ret int %Z
|
||||
;br label %Loop
|
||||
}
|
Loading…
Reference in New Issue
Block a user