summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorChandler Carruth <chandlerc@gmail.com>2013-01-27 06:42:03 +0000
committerChandler Carruth <chandlerc@gmail.com>2013-01-27 06:42:03 +0000
commit455151e4f7b6dc264183ecc892a2f9678ff5fe46 (patch)
tree973ce8235d2a476a2392aa4a06c2cbf552de14a1 /test
parent6de90c0820db87335ac14d42d13f75e1ee4bb417 (diff)
downloadllvm-455151e4f7b6dc264183ecc892a2f9678ff5fe46.tar.gz
llvm-455151e4f7b6dc264183ecc892a2f9678ff5fe46.tar.bz2
llvm-455151e4f7b6dc264183ecc892a2f9678ff5fe46.tar.xz
Re-revert r173342, without losing the compile time improvements, flat
out bug fixes, or functionality preserving refactorings. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173610 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r--test/Transforms/SimplifyCFG/SpeculativeExec.ll115
1 files changed, 0 insertions, 115 deletions
diff --git a/test/Transforms/SimplifyCFG/SpeculativeExec.ll b/test/Transforms/SimplifyCFG/SpeculativeExec.ll
index b60e5dc56f..dd2e5d1c3a 100644
--- a/test/Transforms/SimplifyCFG/SpeculativeExec.ll
+++ b/test/Transforms/SimplifyCFG/SpeculativeExec.ll
@@ -44,29 +44,6 @@ join:
ret i8 %c
}
-define i8* @test3(i1* %dummy, i8* %a, i8* %b) {
-; Test that a weird, unfolded constant cast in the PHI don't block speculation.
-; CHECK: @test3
-
-entry:
- %cond1 = load volatile i1* %dummy
- br i1 %cond1, label %if, label %end
-
-if:
- %cond2 = load volatile i1* %dummy
- br i1 %cond2, label %then, label %end
-
-then:
- br label %end
-
-end:
- %x = phi i8* [ %a, %entry ], [ %b, %if ], [ inttoptr (i64 42 to i8*), %then ]
-; CHECK-NOT: phi
-; CHECK: select i1 %cond2, i8* inttoptr
-
- ret i8* %x
-}
-
define i8* @test4(i1* %dummy, i8* %a, i8* %b) {
; Test that we don't speculate an arbitrarily large number of unfolded constant
; expressions.
@@ -108,95 +85,3 @@ end:
ret i8* %x10
}
-
-define i16 @test5(i1* %dummy, i16 %a, i16 %b) {
-; Test that we speculate no-op instructions.
-; CHECK: @test5
-
-entry:
- %cond1 = load volatile i1* %dummy
- br i1 %cond1, label %if, label %end
-
-if:
- %cond2 = load volatile i1* %dummy
- %a.conv = sext i16 %a to i32
- %b.conv = sext i16 %b to i32
- %cmp = icmp ult i32 %a.conv, %b.conv
- br i1 %cond2, label %then, label %end
-
-then:
- %sub = sub i32 %a.conv, %b.conv
- %sub.conv = trunc i32 %sub to i16
- br label %end
-
-end:
- %x = phi i16 [ %a, %entry ], [ %b, %if ], [ %sub.conv, %then ]
-; CHECK-NOT: phi
-; CHECK: select i1
-
- ret i16 %x
-}
-
-define i16 @test6(i1* %dummy, i64 %a, i64 %b) {
-; Test that we speculate no-op instructions when those instructions are in the
-; predecessor but could potentially be sunk.
-; CHECK: @test6
-
-entry:
- %cond1 = load volatile i1* %dummy
- %a.conv = trunc i64 %a to i16
- %b.conv = trunc i64 %b to i16
- br i1 %cond1, label %if, label %end
-
-if:
- %cond2 = load volatile i1* %dummy
- %cond3 = load volatile i1* %dummy
- %cond4 = load volatile i1* %dummy
- %cmp = icmp ult i16 %a.conv, %b.conv
- %a.conv2 = trunc i64 %a to i32
- %b.conv2 = trunc i64 %b to i32
- br i1 %cond2, label %then, label %end
-
-then:
- %sub = sub i32 %a.conv2, %b.conv2
- %sub.conv = trunc i32 %sub to i16
- br label %end
-
-end:
- %x = phi i16 [ %a.conv, %entry ], [ %b.conv, %if ], [ %sub.conv, %then ]
-; CHECK-NOT: phi
-; CHECK: select i1
-
- ret i16 %x
-}
-
-define i16 @test7(i1* %dummy, i16 %a, i16 %b, i32 %x) {
-; Test that we don't speculate when there are instructions that could
-; potentially sink into the conditional block.
-; CHECK: @test7
-
-entry:
- %cond1 = load volatile i1* %dummy
- br i1 %cond1, label %if, label %end
-
-if:
- %cond2 = load volatile i1* %dummy
- %a.conv = sext i16 %a to i32
- %b.conv = sext i16 %b to i32
- %cmp = icmp ult i32 %a.conv, %b.conv
- %a.conv2 = add i32 %a.conv, %x
- br i1 %cond2, label %then, label %end
-
-then:
- %sub = sub i32 %a.conv2, %b.conv
- %sub.conv = trunc i32 %sub to i16
- br label %end
-
-end:
- %y = phi i16 [ %a, %entry ], [ %b, %if ], [ %sub.conv, %then ]
-; CHECK-NOT: select
-; CHECK: phi i16
-
- ret i16 %y
-}
-