diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2011-08-30 23:03:45 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2011-08-30 23:03:45 +0000 |
commit | f940a1a869b4fe6f857e7fd8aeb97e7b7e9b390e (patch) | |
tree | bc8c030ead7ee50957d7d24d68a4aa349b4b84c5 /test/Transforms/TailDup/X86 | |
parent | eaca928a3798e1fa7072457b94eccdd5b53b5d5f (diff) | |
download | external_llvm-f940a1a869b4fe6f857e7fd8aeb97e7b7e9b390e.zip external_llvm-f940a1a869b4fe6f857e7fd8aeb97e7b7e9b390e.tar.gz external_llvm-f940a1a869b4fe6f857e7fd8aeb97e7b7e9b390e.tar.bz2 |
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/X86')
-rw-r--r-- | test/Transforms/TailDup/X86/if-tail-dup.ll | 49 |
1 files changed, 0 insertions, 49 deletions
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 2e4f5be..0000000 --- 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 -} |