summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorBill Wendling <isanbard@gmail.com>2008-01-27 06:13:32 +0000
committerBill Wendling <isanbard@gmail.com>2008-01-27 06:13:32 +0000
commit67fed1c8f2d0e47461bf32157b412c6850d973da (patch)
tree66052fbb95c7bf5cd5a8ff74e2729274896ce90c /test
parentbeefd3d0f81ecd206601e62228975111c4cf84f4 (diff)
downloadllvm-67fed1c8f2d0e47461bf32157b412c6850d973da.tar.gz
llvm-67fed1c8f2d0e47461bf32157b412c6850d973da.tar.bz2
llvm-67fed1c8f2d0e47461bf32157b412c6850d973da.tar.xz
The CorrelatedExpressions pass is now no more.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46409 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r--test/Transforms/CorrelatedExprs/2002-09-23-PHIUpdateBug.ll29
-rw-r--r--test/Transforms/CorrelatedExprs/2002-10-03-PHIPropogate.ll45
-rw-r--r--test/Transforms/CorrelatedExprs/2002-10-04-ForwardingBug.ll35
-rw-r--r--test/Transforms/CorrelatedExprs/2002-10-07-DominatorProblem.ll28
-rw-r--r--test/Transforms/CorrelatedExprs/2002-10-07-NoImmediateDominator.ll17
-rw-r--r--test/Transforms/CorrelatedExprs/2002-10-08-DominatorTest.ll32
-rw-r--r--test/Transforms/CorrelatedExprs/2002-10-08-DominatorTest2.ll34
-rw-r--r--test/Transforms/CorrelatedExprs/basictest.ll136
-rw-r--r--test/Transforms/CorrelatedExprs/branchtest.ll35
-rw-r--r--test/Transforms/CorrelatedExprs/dg.exp3
-rw-r--r--test/Transforms/CorrelatedExprs/switch.ll22
-rw-r--r--test/Transforms/CorrelatedExprs/whet.ll46
12 files changed, 0 insertions, 462 deletions
diff --git a/test/Transforms/CorrelatedExprs/2002-09-23-PHIUpdateBug.ll b/test/Transforms/CorrelatedExprs/2002-09-23-PHIUpdateBug.ll
deleted file mode 100644
index 5873a638a6..0000000000
--- a/test/Transforms/CorrelatedExprs/2002-09-23-PHIUpdateBug.ll
+++ /dev/null
@@ -1,29 +0,0 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -cee
-
-implementation
-
-declare void %foo(int)
-
-void %test(int %A, bool %C) {
- br bool %C, label %bb0, label %bb1
-bb0:
- br label %bb3
-Unreachable:
- br label %bb2
-bb1: ;[#uses=0]
- %cond212 = setgt int %A, 9 ; <bool> [#uses=1]
- br bool %cond212, label %bb2, label %bb7
-
-bb2: ;[#uses=1]
- %cond = setgt int %A, 7
- br bool %cond, label %bb3, label %bb7
-
-bb3: ;[#uses=1]
- %X = phi int [ 0, %bb0], [ 12, %bb2]
- call void %foo( int %X )
- br label %bb7
-
-bb7: ;[#uses=2]
- ret void
-}
-
diff --git a/test/Transforms/CorrelatedExprs/2002-10-03-PHIPropogate.ll b/test/Transforms/CorrelatedExprs/2002-10-03-PHIPropogate.ll
deleted file mode 100644
index a9d5f0c016..0000000000
--- a/test/Transforms/CorrelatedExprs/2002-10-03-PHIPropogate.ll
+++ /dev/null
@@ -1,45 +0,0 @@
-; This test checks to see if the CEE pass is applying jump-bypassing for values
-; determined by PHI nodes. Because we are coming from a particular block, we
-; know what value a PHI node will take on this edge and should exploit it.
-;
-; This testcase comes from the following C code:
-; void bar(void);
-; void foo(int c) {
-; int i = c ? 2 : 8;
-; while (i < 20) {
-; bar ();
-; i++;
-; }
-; }
-;
-; RUN: llvm-upgrade < %s | llvm-as | opt -cee -simplifycfg | llvm-dis | not grep bb3
-
-implementation
-declare void %bar()
-
-void %foo(int %c) {
-bb0: ; No predecessors!
- %cond215 = seteq int %c, 0 ; <bool> [#uses=1]
- br bool %cond215, label %bb3, label %bb4
-
-bb3: ; preds = %bb0
- br label %bb4
-
-bb4: ; preds = %bb3, %bb0
- %reg110 = phi int [ 8, %bb3 ], [ 2, %bb0 ] ; <int> [#uses=2]
- %cond217 = setgt int %reg110, 19 ; <bool> [#uses=1]
- br bool %cond217, label %bb6, label %bb5
-
-bb5: ; preds = %bb5, %bb4
- %cann-indvar = phi int [ 0, %bb4 ], [ %add1-indvar, %bb5 ] ; <int> [#uses=2]
- %add1-indvar = add int %cann-indvar, 1 ; <int> [#uses=1]
- %reg111 = add int %cann-indvar, %reg110 ; <int> [#uses=1]
- call void %bar( )
- %reg112 = add int %reg111, 1 ; <int> [#uses=1]
- %cond222 = setle int %reg112, 19 ; <bool> [#uses=1]
- br bool %cond222, label %bb5, label %bb6
-
-bb6: ; preds = %bb5, %bb4
- ret void
-}
-
diff --git a/test/Transforms/CorrelatedExprs/2002-10-04-ForwardingBug.ll b/test/Transforms/CorrelatedExprs/2002-10-04-ForwardingBug.ll
deleted file mode 100644
index 7dd89d4a64..0000000000
--- a/test/Transforms/CorrelatedExprs/2002-10-04-ForwardingBug.ll
+++ /dev/null
@@ -1,35 +0,0 @@
-; Testcase distilled from bisort where we tried to perform branch target
-; forwarding where it was not safe.
-; RUN: llvm-upgrade < %s | llvm-as | opt -cee
-;
- %HANDLE = type { int, %HANDLE*, %HANDLE* }
- %struct.node = type { int, %HANDLE*, %HANDLE* }
-%.LC0 = internal global [11 x sbyte] c"%d @ 0x%x\0A\00" ; <[11 x sbyte]*> [#uses=1]
-
-implementation ; Functions:
-
-void %InOrder(%HANDLE* %h) {
-bb0: ; No predecessors!
- br label %bb2
-
-bb2: ; preds = %bb3, %bb0
- %reg113 = phi %HANDLE* [ %reg109, %bb3 ], [ %h, %bb0 ] ; <%HANDLE*> [#uses=4]
- %cond217 = seteq %HANDLE* %reg113, null ; <bool> [#uses=1]
- br bool %cond217, label %bb4, label %bb3
-
-bb3: ; preds = %bb2
- %reg221 = getelementptr %HANDLE* %reg113, long 0, uint 1 ; <%HANDLE**> [#uses=1]
- %reg108 = load %HANDLE** %reg221 ; <%HANDLE*> [#uses=1]
- %reg226 = getelementptr %HANDLE* %reg113, long 0, uint 2 ; <%HANDLE**> [#uses=1]
- %reg109 = load %HANDLE** %reg226 ; <%HANDLE*> [#uses=1]
- call void %InOrder( %HANDLE* %reg108 )
- %cast231 = getelementptr %HANDLE* %reg113, long 0, uint 0 ; <int*> [#uses=1]
- %reg111 = load int* %cast231 ; <int> [#uses=1]
- %reg233 = call int (sbyte*, ...)* %printf( sbyte* getelementptr ([11 x sbyte]* %.LC0, long 0, long 0), int %reg111, uint 0 ) ; <int> [#uses=0]
- br label %bb2
-
-bb4: ; preds = %bb2
- ret void
-}
-
-declare int %printf(sbyte*, ...)
diff --git a/test/Transforms/CorrelatedExprs/2002-10-07-DominatorProblem.ll b/test/Transforms/CorrelatedExprs/2002-10-07-DominatorProblem.ll
deleted file mode 100644
index 716db54b6a..0000000000
--- a/test/Transforms/CorrelatedExprs/2002-10-07-DominatorProblem.ll
+++ /dev/null
@@ -1,28 +0,0 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -cee
-;
-; The 'cee' pass is breaking SSA form when it blindly forwards the branch from
-; Eq to branch to "Forwarded" instead.
-
-implementation
-
-int %test(int %A, int %B, bool %c0) {
-Start:
- %c1 = seteq int %A, %B
- br bool %c1, label %Eq, label %Loop
-
-Eq: ; In this block we know that A == B
- br label %Loop ; This should be modified to branch to "Forwarded".
-
-Loop: ;; Merge point, nothing is known here...
- %Z = phi int [%A, %Start], [%B, %Eq], [%Z, %Bottom]
- %c2 = setgt int %A, %B
- br bool %c2, label %Forwarded, label %Bottom
-
-Forwarded:
- %Z2 = phi int [%Z, %Loop]
- call int %test(int 0, int %Z2, bool true)
- br label %Bottom
-
-Bottom:
- br label %Loop
-}
diff --git a/test/Transforms/CorrelatedExprs/2002-10-07-NoImmediateDominator.ll b/test/Transforms/CorrelatedExprs/2002-10-07-NoImmediateDominator.ll
deleted file mode 100644
index f5ce0454e3..0000000000
--- a/test/Transforms/CorrelatedExprs/2002-10-07-NoImmediateDominator.ll
+++ /dev/null
@@ -1,17 +0,0 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -cee
-;
-; This testcase causes an assertion error.
-;
-implementation ; Functions:
-
-void %test(int %A) {
- br label %bb2
-bb2:
- ret void
-
-bb3: ; No predecessors!
- br bool true, label %bb4, label %bb2
-
-bb4:
- ret void
-}
diff --git a/test/Transforms/CorrelatedExprs/2002-10-08-DominatorTest.ll b/test/Transforms/CorrelatedExprs/2002-10-08-DominatorTest.ll
deleted file mode 100644
index 2f39701adc..0000000000
--- a/test/Transforms/CorrelatedExprs/2002-10-08-DominatorTest.ll
+++ /dev/null
@@ -1,32 +0,0 @@
-; Test to make sure that SSA is correctly updated
-; RUN: llvm-upgrade < %s | llvm-as | 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
-}
diff --git a/test/Transforms/CorrelatedExprs/2002-10-08-DominatorTest2.ll b/test/Transforms/CorrelatedExprs/2002-10-08-DominatorTest2.ll
deleted file mode 100644
index 0348e4011f..0000000000
--- a/test/Transforms/CorrelatedExprs/2002-10-08-DominatorTest2.ll
+++ /dev/null
@@ -1,34 +0,0 @@
-; Simple test to make sure dominators are updated properly
-; RUN: llvm-upgrade < %s | llvm-as | 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
-}
diff --git a/test/Transforms/CorrelatedExprs/basictest.ll b/test/Transforms/CorrelatedExprs/basictest.ll
deleted file mode 100644
index 0f41d24f47..0000000000
--- a/test/Transforms/CorrelatedExprs/basictest.ll
+++ /dev/null
@@ -1,136 +0,0 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -cee -constprop -instcombine -dce | \
-; RUN: llvm-dis | not grep REMOVE
-
-int %test1(int %A) {
- %cond = seteq int %A, 40
- br bool %cond, label %T, label %F
-T:
- %REMOVE = add int %A, 2 ; Should become = 42
- ret int %REMOVE
-F:
- ret int 8
-}
-
-bool %test2(int %A) {
- %cond = seteq int %A, 40
- br bool %cond, label %T, label %F
-T:
- %REMOVE = seteq int %A, 2 ; Should become = false
- ret bool %REMOVE
-F:
- ret bool false
-}
-
-bool %test3(int %A) {
- %cond = setlt int %A, 40
- br bool %cond, label %T, label %F
-T:
- %REMOVE = setgt int %A, 47 ; Should become = false
- ret bool %REMOVE
-F:
- %REMOVE2 = setge int %A, 40 ; Should become = true
- ret bool %REMOVE2
-}
-
-bool %test4(int %A) {
- %cond = setlt int %A, 40
- br bool %cond, label %T, label %F
-T:
- %REMOVE = setgt int %A, 47 ; Should become = false
- ret bool %REMOVE
-F:
- ret bool false
-}
-
-int %test5(int %A, int %B) {
- %cond = setne int %A, %B
- br bool %cond, label %F, label %T
-T:
- %C = sub int %A, %B ; = 0
- ret int %C
-F:
- ret int 0
-}
-
-bool %test6(int %A) {
- %REMOVE = setlt int %A, 47 ; Should become dead
- %cond = setlt int %A, 40
- br bool %cond, label %T, label %F
-T:
- ret bool %REMOVE ;; == true
-F:
- ret bool false
-}
-
-bool %test7(int %A) {
- %cond = setlt int %A, 40
- br bool %cond, label %T, label %F
-T:
- %REMOVE = xor bool %cond, true
- ret bool %REMOVE
-F:
- ret bool false
-}
-
-; Test that and expressions are handled...
-bool %test8(int %A, int %B) {
- %cond1 = setle int %A, 7
- %cond2 = setle int %B, 7
- %cond = and bool %cond1, %cond2
- br bool %cond, label %T, label %F
-T:
- %REMOVE1 = seteq int %A, 9 ; false
- %REMOVE2 = setge int %B, 9 ; false
- %REMOVE = or bool %REMOVE1, %REMOVE2 ; false
- ret bool %REMOVE
-F:
- ret bool false
-}
-
-; Test that or expressions are handled...
-bool %test9(int %A, int %B) {
- %cond1 = setle int %A, 7
- %cond2 = setle int %B, 7
- %cond = or bool %cond1, %cond2
- br bool %cond, label %T, label %F
-T:
- ret bool false
-F:
- %REMOVE1 = setge int %A, 8 ; true
- %REMOVE2 = setge int %B, 8 ; true
- %REMOVE = or bool %REMOVE1, %REMOVE2 ; true
- ret bool %REMOVE
-}
-
-bool %test10(int %A) {
- %cond = setle int %A, 7
- br bool %cond, label %T, label %F
-T:
- ret bool false
-F:
- %REMOVE = setge int %A, 8
- ret bool %REMOVE
-}
-
-; Implement correlated comparisons against non-constants
-bool %test11(int %A, int %B) {
- %cond = setlt int %A, %B
- br bool %cond, label %T, label %F
-T:
- %REMOVE1 = seteq int %A, %B ; false
- %REMOVE2 = setle int %A, %B ; true
- %cond2 = and bool %REMOVE1, %REMOVE2
- ret bool %cond2
-F:
- ret bool true
-}
-
-bool %test12(int %A) {
- %cond = setlt int %A, 0
- br bool %cond, label %T, label %F
-T:
- %REMOVE = setne int %A, 0 ; true
- ret bool %REMOVE
-F:
- ret bool false
-}
diff --git a/test/Transforms/CorrelatedExprs/branchtest.ll b/test/Transforms/CorrelatedExprs/branchtest.ll
deleted file mode 100644
index 591cede4ea..0000000000
--- a/test/Transforms/CorrelatedExprs/branchtest.ll
+++ /dev/null
@@ -1,35 +0,0 @@
-; RUN: echo %s
-
-implementation
-
-declare void %foo(int)
-
-void %test(int %A) {
-bb1: ;[#uses=0]
- %cond212 = setgt int %A, 9 ; <bool> [#uses=1]
- br bool %cond212, label %REMOVEbb3, label %bb2
-
-bb2: ;[#uses=1]
- call void %foo( int 123 )
- br label %REMOVEbb3
-
-REMOVEbb3: ;[#uses=2]
- %cond217 = setle int %A, 9 ; <bool> [#uses=1]
- br bool %cond217, label %REMOVEbb5, label %bb4
-
-bb4: ;[#uses=1]
- call void %foo( int 234 )
- br label %REMOVEbb5
-
-REMOVEbb5: ;[#uses=2]
- %cond222 = setgt int %A, 9 ; <bool> [#uses=1]
- br bool %cond222, label %bb7, label %REMOVEbb6
-
-REMOVEbb6: ;[#uses=1]
- call void %foo( int 456 )
- br label %bb7
-
-bb7: ;[#uses=2]
- ret void
-}
-
diff --git a/test/Transforms/CorrelatedExprs/dg.exp b/test/Transforms/CorrelatedExprs/dg.exp
deleted file mode 100644
index 879685ca87..0000000000
--- a/test/Transforms/CorrelatedExprs/dg.exp
+++ /dev/null
@@ -1,3 +0,0 @@
-load_lib llvm.exp
-
-RunLLVMTests [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]]
diff --git a/test/Transforms/CorrelatedExprs/switch.ll b/test/Transforms/CorrelatedExprs/switch.ll
deleted file mode 100644
index 24b34b03a7..0000000000
--- a/test/Transforms/CorrelatedExprs/switch.ll
+++ /dev/null
@@ -1,22 +0,0 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -cee -constprop -instcombine -dce | \
-; RUN: llvm-dis | not grep REMOVE
-; END.
-
-int %test_case_values_should_propagate(int %A) {
- switch int %A, label %D [
- int 40, label %C1
- int 41, label %C2
- int 42, label %C3
- ]
-C1:
- %REMOVE1 = add int %A, 2 ; Should be 42.
- ret int %REMOVE1
-C2:
- %REMOVE2 = add int %A, 3 ; Should be 44.
- ret int %REMOVE2
-C3:
- %REMOVE3 = add int %A, 4 ; Should be 46.
- ret int %REMOVE3
-D:
- ret int 10
-}
diff --git a/test/Transforms/CorrelatedExprs/whet.ll b/test/Transforms/CorrelatedExprs/whet.ll
deleted file mode 100644
index aede00288b..0000000000
--- a/test/Transforms/CorrelatedExprs/whet.ll
+++ /dev/null
@@ -1,46 +0,0 @@
-; This code snippet is derived from the following "whetstone" style code:
-; int whet(int j) {
-; if (j == 1) j = 2;
-; else j = 7;
-; if (j > 2) j = 0;
-; else j = 3;
-; if (j < 1) j = 10;
-; else j = 0;
-; return j;
-;}
-;
-; This should eliminate all BB's except BB0, BB9, BB10
-;
-; RUN: llvm-upgrade < %s | llvm-as | opt -cee -instcombine -simplifycfg | \
-; RUN: llvm-dis | not grep {bb\[2-8\]}
-
-implementation ; Functions:
-
-int %whet(int %j) {
-bb0: ; No predecessors!
- %cond220 = setne int %j, 1 ; <bool> [#uses=1]
- br bool %cond220, label %bb3, label %bb4
-
-bb3: ; preds = %bb0
- br label %bb4
-
-bb4: ; preds = %bb3, %bb0
- %reg111 = phi int [ 7, %bb3 ], [ 2, %bb0 ] ; <int> [#uses=1]
- %cond222 = setle int %reg111, 2 ; <bool> [#uses=1]
- br bool %cond222, label %bb6, label %bb7
-
-bb6: ; preds = %bb4
- br label %bb7
-
-bb7: ; preds = %bb6, %bb4
- %reg114 = phi int [ 3, %bb6 ], [ 0, %bb4 ] ; <int> [#uses=1]
- %cond225 = setgt int %reg114, 0 ; <bool> [#uses=1]
- br bool %cond225, label %bb9, label %bb10
-
-bb9: ; preds = %bb7
- br label %bb10
-
-bb10: ; preds = %bb9, %bb7
- %reg117 = phi int [ 0, %bb9 ], [ 10, %bb7 ] ; <int> [#uses=1]
- ret int %reg117
-}