summaryrefslogtreecommitdiff
path: root/test/Transforms/TailDup
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2011-08-30 23:03:45 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2011-08-30 23:03:45 +0000
commitf940a1a869b4fe6f857e7fd8aeb97e7b7e9b390e (patch)
treebc8c030ead7ee50957d7d24d68a4aa349b4b84c5 /test/Transforms/TailDup
parenteaca928a3798e1fa7072457b94eccdd5b53b5d5f (diff)
downloadllvm-f940a1a869b4fe6f857e7fd8aeb97e7b7e9b390e.tar.gz
llvm-f940a1a869b4fe6f857e7fd8aeb97e7b7e9b390e.tar.bz2
llvm-f940a1a869b4fe6f857e7fd8aeb97e7b7e9b390e.tar.xz
Remove the old tail duplication pass. It is not used and is unable to update
ssa, so it has to be run really early in the pipeline. Any replacement should probably use the SSAUpdater. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138841 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Transforms/TailDup')
-rw-r--r--test/Transforms/TailDup/2003-06-24-Simpleloop.ll15
-rw-r--r--test/Transforms/TailDup/2003-07-22-InfiniteLoop.ll11
-rw-r--r--test/Transforms/TailDup/2003-08-23-InvalidatedPointers.ll29
-rw-r--r--test/Transforms/TailDup/2003-08-31-UnreachableBlocks.ll17
-rw-r--r--test/Transforms/TailDup/2004-04-01-DemoteRegToStack.ll20
-rw-r--r--test/Transforms/TailDup/2008-05-13-InfiniteLoop.ll26
-rw-r--r--test/Transforms/TailDup/2009-07-31-phicrash.ll14
-rw-r--r--test/Transforms/TailDup/MergeTest.ll27
-rw-r--r--test/Transforms/TailDup/PHIUpdateTest.ll16
-rw-r--r--test/Transforms/TailDup/X86/if-tail-dup.ll49
-rw-r--r--test/Transforms/TailDup/basictest.ll20
-rw-r--r--test/Transforms/TailDup/basictest2.ll15
12 files changed, 0 insertions, 259 deletions
diff --git a/test/Transforms/TailDup/2003-06-24-Simpleloop.ll b/test/Transforms/TailDup/2003-06-24-Simpleloop.ll
deleted file mode 100644
index d7e45af5ec..0000000000
--- a/test/Transforms/TailDup/2003-06-24-Simpleloop.ll
+++ /dev/null
@@ -1,15 +0,0 @@
-; RUN: opt < %s -tailduplicate -disable-output
-
-define void @motion_result7() {
-entry:
- br label %endif
-endif: ; preds = %no_exit, %entry
- %i.1 = phi i32 [ %inc, %no_exit ], [ 0, %entry ] ; <i32> [#uses=1]
- %inc = add i32 %i.1, 1 ; <i32> [#uses=1]
- br i1 false, label %no_exit, label %UnifiedExitNode
-no_exit: ; preds = %endif
- br i1 false, label %UnifiedExitNode, label %endif
-UnifiedExitNode: ; preds = %no_exit, %endif
- ret void
-}
-
diff --git a/test/Transforms/TailDup/2003-07-22-InfiniteLoop.ll b/test/Transforms/TailDup/2003-07-22-InfiniteLoop.ll
deleted file mode 100644
index 90f49909e5..0000000000
--- a/test/Transforms/TailDup/2003-07-22-InfiniteLoop.ll
+++ /dev/null
@@ -1,11 +0,0 @@
-; RUN: opt < %s -tailduplicate -disable-output
-
-define i32 @sum() {
-entry:
- br label %loopentry
-loopentry: ; preds = %loopentry, %entry
- %i.0 = phi i32 [ 1, %entry ], [ %tmp.3, %loopentry ] ; <i32> [#uses=1]
- %tmp.3 = add i32 %i.0, 1 ; <i32> [#uses=1]
- br label %loopentry
-}
-
diff --git a/test/Transforms/TailDup/2003-08-23-InvalidatedPointers.ll b/test/Transforms/TailDup/2003-08-23-InvalidatedPointers.ll
deleted file mode 100644
index efe9eaed7e..0000000000
--- a/test/Transforms/TailDup/2003-08-23-InvalidatedPointers.ll
+++ /dev/null
@@ -1,29 +0,0 @@
-; RUN: opt < %s -tailduplicate -disable-output
-
-define i32 @sell_haggle() {
-entry:
- br i1 false, label %then.5, label %UnifiedExitNode
-then.5: ; preds = %entry
- br i1 false, label %loopentry.1.preheader, label %else.1
-else.1: ; preds = %then.5
- br label %loopentry.1.preheader
-loopentry.1.preheader: ; preds = %else.1, %then.5
- %final_ask.0 = phi i32 [ 0, %else.1 ], [ 0, %then.5 ] ; <i32> [#uses=2]
- br label %loopentry.1
-loopentry.1: ; preds = %endif.17, %loopentry.1.preheader
- switch i32 0, label %UnifiedExitNode [
- i32 2, label %UnifiedExitNode
- i32 1, label %endif.16
- ]
-endif.16: ; preds = %loopentry.1
- br i1 false, label %then.17, label %UnifiedExitNode
-then.17: ; preds = %endif.16
- br i1 false, label %then.18, label %endif.17
-then.18: ; preds = %then.17
- br i1 false, label %endif.17, label %UnifiedExitNode
-endif.17: ; preds = %then.18, %then.17
- %cur_ask.3 = phi i32 [ %final_ask.0, %then.17 ], [ %final_ask.0, %then.18 ] ; <i32> [#uses=0]
- br i1 false, label %loopentry.1, label %UnifiedExitNode
-UnifiedExitNode: ; preds = %endif.17, %then.18, %endif.16, %loopentry.1, %loopentry.1, %entry
- ret i32 0
-}
diff --git a/test/Transforms/TailDup/2003-08-31-UnreachableBlocks.ll b/test/Transforms/TailDup/2003-08-31-UnreachableBlocks.ll
deleted file mode 100644
index dc6492353b..0000000000
--- a/test/Transforms/TailDup/2003-08-31-UnreachableBlocks.ll
+++ /dev/null
@@ -1,17 +0,0 @@
-; RUN: opt < %s -tailduplicate -disable-output
-
-define i32 @foo() {
-entry:
- br label %return.i
-after_ret.i: ; No predecessors!
- br label %return.i
-return.i: ; preds = %after_ret.i, %entry
- %tmp.3 = ptrtoint i32* null to i32 ; <i32> [#uses=1]
- br label %return.i1
-after_ret.i1: ; No predecessors!
- br label %return.i1
-return.i1: ; preds = %after_ret.i1, %return.i
- %tmp.8 = sub i32 %tmp.3, 0 ; <i32> [#uses=0]
- ret i32 0
-}
-
diff --git a/test/Transforms/TailDup/2004-04-01-DemoteRegToStack.ll b/test/Transforms/TailDup/2004-04-01-DemoteRegToStack.ll
deleted file mode 100644
index c1e5f738a7..0000000000
--- a/test/Transforms/TailDup/2004-04-01-DemoteRegToStack.ll
+++ /dev/null
@@ -1,20 +0,0 @@
-; RUN: opt < %s -tailduplicate -disable-output
-
-define void @interpret() {
-entry:
- br label %retry
-retry: ; preds = %endif.4, %entry
- %tmp.8 = call i32 @interp( ) ; <i32> [#uses=3]
- switch i32 0, label %endif.4 [
- i32 -25, label %return
- i32 -16, label %return
- ]
-endif.4: ; preds = %retry
- br i1 false, label %return, label %retry
-return: ; preds = %endif.4, %retry, %retry
- %result.0 = phi i32 [ %tmp.8, %retry ], [ %tmp.8, %retry ], [ %tmp.8, %endif.4 ] ; <i32> [#uses=0]
- ret void
-}
-
-declare i32 @interp()
-
diff --git a/test/Transforms/TailDup/2008-05-13-InfiniteLoop.ll b/test/Transforms/TailDup/2008-05-13-InfiniteLoop.ll
deleted file mode 100644
index 3e4f0b7874..0000000000
--- a/test/Transforms/TailDup/2008-05-13-InfiniteLoop.ll
+++ /dev/null
@@ -1,26 +0,0 @@
-; RUN: opt < %s -tailduplicate | llc
-; PR2323
-
-define i32 @func_27(i32 %p_28) nounwind {
-entry:
- %tmp125 = trunc i32 %p_28 to i8 ; <i8> [#uses=1]
- %tmp5.i = icmp eq i8 %tmp125, 0 ; <i1> [#uses=1]
- br i1 %tmp5.i, label %bb8.i, label %bb.i
-
-bb.i: ; preds = %entry
- br label %bb39.i
-
-bb8.i: ; preds = %entry
- br label %bb11.i
-
-bb11.i: ; preds = %bb39.i, %bb8.i
- %tmp126 = trunc i32 %p_28 to i8 ; <i8> [#uses=1]
- br label %bb39.i
-
-bb39.i: ; preds = %bb11.i, %bb.i
- %tmp127 = trunc i32 %p_28 to i8 ; <i8> [#uses=1]
- br label %bb11.i
-
-func_29.exit: ; No predecessors!
- ret i32 undef
-}
diff --git a/test/Transforms/TailDup/2009-07-31-phicrash.ll b/test/Transforms/TailDup/2009-07-31-phicrash.ll
deleted file mode 100644
index ad1a040476..0000000000
--- a/test/Transforms/TailDup/2009-07-31-phicrash.ll
+++ /dev/null
@@ -1,14 +0,0 @@
-; RUN: opt < %s -tailduplicate -disable-output
-; PR4662
-
-define void @a() {
-BB:
- br label %BB6
-
-BB6:
- %tmp9 = phi i64 [ 0, %BB ], [ 5, %BB34 ]
- br label %BB34
-
-BB34:
- br label %BB6
-}
diff --git a/test/Transforms/TailDup/MergeTest.ll b/test/Transforms/TailDup/MergeTest.ll
deleted file mode 100644
index 2224283d8e..0000000000
--- a/test/Transforms/TailDup/MergeTest.ll
+++ /dev/null
@@ -1,27 +0,0 @@
-; RUN: opt < %s -tailduplicate -taildup-threshold=2 -S | grep add | not grep uses=1
-
-define i32 @test1(i1 %C, i32 %A, i32* %P) {
-entry:
- br i1 %C, label %L1, label %L2
-L1: ; preds = %entry
- store i32 1, i32* %P
- br label %L2
-L2: ; preds = %L1, %entry
- %X = add i32 %A, 17 ; <i32> [#uses=1]
- ret i32 %X
-}
-
-define i32 @test2(i1 %C, i32 %A, i32* %P) {
-entry:
- br i1 %C, label %L1, label %L2
-L1: ; preds = %entry
- store i32 1, i32* %P
- br label %L3
-L2: ; preds = %entry
- store i32 7, i32* %P
- br label %L3
-L3: ; preds = %L2, %L1
- %X = add i32 %A, 17 ; <i32> [#uses=1]
- ret i32 %X
-}
-
diff --git a/test/Transforms/TailDup/PHIUpdateTest.ll b/test/Transforms/TailDup/PHIUpdateTest.ll
deleted file mode 100644
index 38d8ebfcce..0000000000
--- a/test/Transforms/TailDup/PHIUpdateTest.ll
+++ /dev/null
@@ -1,16 +0,0 @@
-; This test checks to make sure phi nodes are updated properly
-;
-; RUN: opt < %s -tailduplicate -disable-output
-
-define i32 @test(i1 %c, i32 %X, i32 %Y) {
- br label %L
-L: ; preds = %F, %0
- %A = add i32 %X, %Y ; <i32> [#uses=1]
- br i1 %c, label %T, label %F
-F: ; preds = %L
- br i1 %c, label %L, label %T
-T: ; preds = %F, %L
- %V = phi i32 [ %A, %L ], [ 0, %F ] ; <i32> [#uses=1]
- ret i32 %V
-}
-
diff --git a/test/Transforms/TailDup/X86/if-tail-dup.ll b/test/Transforms/TailDup/X86/if-tail-dup.ll
deleted file mode 100644
index 2e4f5be38d..0000000000
--- a/test/Transforms/TailDup/X86/if-tail-dup.ll
+++ /dev/null
@@ -1,49 +0,0 @@
-; RUN: opt < %s -tailduplicate | \
-; RUN: llc -march=x86 -o %t
-; RUN: grep {\\\<je\\\>} %t
-; RUN: not grep jmp %t
-; END.
-; This should have no unconditional jumps in it. The C source is:
-
-;void foo(int c, int* P) {
-; if (c & 1) P[0] = 1;
-; if (c & 2) P[1] = 1;
-; if (c & 4) P[2] = 1;
-; if (c & 8) P[3] = 1;
-;}
-
-define void @foo(i32 %c, i32* %P) {
-entry:
- %tmp1 = and i32 %c, 1 ; <i32> [#uses=1]
- %tmp1.upgrd.1 = icmp eq i32 %tmp1, 0 ; <i1> [#uses=1]
- br i1 %tmp1.upgrd.1, label %cond_next, label %cond_true
-cond_true: ; preds = %entry
- store i32 1, i32* %P
- br label %cond_next
-cond_next: ; preds = %cond_true, %entry
- %tmp5 = and i32 %c, 2 ; <i32> [#uses=1]
- %tmp5.upgrd.2 = icmp eq i32 %tmp5, 0 ; <i1> [#uses=1]
- br i1 %tmp5.upgrd.2, label %cond_next10, label %cond_true6
-cond_true6: ; preds = %cond_next
- %tmp8 = getelementptr i32* %P, i32 1 ; <i32*> [#uses=1]
- store i32 1, i32* %tmp8
- br label %cond_next10
-cond_next10: ; preds = %cond_true6, %cond_next
- %tmp13 = and i32 %c, 4 ; <i32> [#uses=1]
- %tmp13.upgrd.3 = icmp eq i32 %tmp13, 0 ; <i1> [#uses=1]
- br i1 %tmp13.upgrd.3, label %cond_next18, label %cond_true14
-cond_true14: ; preds = %cond_next10
- %tmp16 = getelementptr i32* %P, i32 2 ; <i32*> [#uses=1]
- store i32 1, i32* %tmp16
- br label %cond_next18
-cond_next18: ; preds = %cond_true14, %cond_next10
- %tmp21 = and i32 %c, 8 ; <i32> [#uses=1]
- %tmp21.upgrd.4 = icmp eq i32 %tmp21, 0 ; <i1> [#uses=1]
- br i1 %tmp21.upgrd.4, label %return, label %cond_true22
-cond_true22: ; preds = %cond_next18
- %tmp24 = getelementptr i32* %P, i32 3 ; <i32*> [#uses=1]
- store i32 1, i32* %tmp24
- ret void
-return: ; preds = %cond_next18
- ret void
-}
diff --git a/test/Transforms/TailDup/basictest.ll b/test/Transforms/TailDup/basictest.ll
deleted file mode 100644
index 94f5d87ad2..0000000000
--- a/test/Transforms/TailDup/basictest.ll
+++ /dev/null
@@ -1,20 +0,0 @@
-; RUN: opt < %s -tailduplicate -disable-output
-
-declare void @__main()
-
-define i32 @main() {
-entry:
- call void @__main( )
- br label %loopentry
-loopentry: ; preds = %no_exit, %entry
- %i.0 = phi i32 [ %inc, %no_exit ], [ 0, %entry ] ; <i32> [#uses=3]
- %tmp.1 = icmp sle i32 %i.0, 99 ; <i1> [#uses=1]
- br i1 %tmp.1, label %no_exit, label %return
-no_exit: ; preds = %loopentry
- %tmp.51 = call i32 @main( ) ; <i32> [#uses=0]
- %inc = add i32 %i.0, 1 ; <i32> [#uses=1]
- br label %loopentry
-return: ; preds = %loopentry
- ret i32 %i.0
-}
-
diff --git a/test/Transforms/TailDup/basictest2.ll b/test/Transforms/TailDup/basictest2.ll
deleted file mode 100644
index 81a996adfe..0000000000
--- a/test/Transforms/TailDup/basictest2.ll
+++ /dev/null
@@ -1,15 +0,0 @@
-; RUN: opt < %s -tailduplicate -disable-output
-
-define void @ab() {
-entry:
- br label %loopentry.5
-loopentry.5: ; preds = %no_exit.5, %entry
- %poscnt.1 = phi i64 [ 0, %entry ], [ %tmp.289, %no_exit.5 ] ; <i64> [#uses=1]
- %tmp.289 = ashr i64 %poscnt.1, 1 ; <i64> [#uses=1]
- br i1 false, label %no_exit.5, label %loopexit.5
-no_exit.5: ; preds = %loopentry.5
- br label %loopentry.5
-loopexit.5: ; preds = %loopentry.5
- ret void
-}
-