summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2006-02-12 02:02:43 +0000
committerChris Lattner <sabre@nondot.org>2006-02-12 02:02:43 +0000
commitecd96539816d7d7222a412464cf8fd66276f8341 (patch)
tree9f366805f40e32bf149e5fa85f4c10af27b74240
parentee628cfefb93e0261ee3e56686d3fffa4e81f371 (diff)
downloadllvm-ecd96539816d7d7222a412464cf8fd66276f8341.tar.gz
llvm-ecd96539816d7d7222a412464cf8fd66276f8341.tar.bz2
llvm-ecd96539816d7d7222a412464cf8fd66276f8341.tar.xz
move a failing testcase from bit-tracking.ll to narrow.ll, and move the
xfail marker with it git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26129 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--test/Transforms/InstCombine/bit-tracking.ll22
-rw-r--r--test/Transforms/InstCombine/narrow.ll18
2 files changed, 18 insertions, 22 deletions
diff --git a/test/Transforms/InstCombine/bit-tracking.ll b/test/Transforms/InstCombine/bit-tracking.ll
index c979833bc0..aa81da92de 100644
--- a/test/Transforms/InstCombine/bit-tracking.ll
+++ b/test/Transforms/InstCombine/bit-tracking.ll
@@ -1,29 +1,7 @@
; This file contains various testcases that require tracking whether bits are
; set or cleared by various instructions.
-; XFAIL: *
; RUN: llvm-as < %s | opt -instcombine | llvm-dis | not grep %ELIM
-; test1 - Eliminating the casts in this testcase (by narrowing the AND
-; operation) allows instcombine to realize the function always returns false.
-;
-bool %test1(int %A, int %B) {
- %C1 = setlt int %A, %B
- %ELIM1 = cast bool %C1 to uint
- %C2 = setgt int %A, %B
- %ELIM2 = cast bool %C2 to uint
- %C3 = and uint %ELIM1, %ELIM2
- %ELIM3 = cast uint %C3 to bool
- ret bool %ELIM3
-}
-
-; See if we can eliminate the shifts...
-int %test2(int %B) {
- %ELIM1 = shl int %B, ubyte 31
- %ELIM2 = shr int %ELIM1, ubyte 31
- %inc = add int %ELIM2, 1 ; == xor int %B, 1
- ret int %inc
-}
-
; Reduce down to a single XOR
int %test3(int %B) {
%ELIMinc = and int %B, 1
diff --git a/test/Transforms/InstCombine/narrow.ll b/test/Transforms/InstCombine/narrow.ll
new file mode 100644
index 0000000000..a26d61575f
--- /dev/null
+++ b/test/Transforms/InstCombine/narrow.ll
@@ -0,0 +1,18 @@
+; This file contains various testcases that check to see that instcombine
+; is narrowing computations when possible.
+
+; RUN: llvm-as < %s | opt -instcombine | llvm-dis | not grep %ELIM
+; XFAIL: *
+
+; test1 - Eliminating the casts in this testcase (by narrowing the AND
+; operation) allows instcombine to realize the function always returns false.
+;
+bool %test1(int %A, int %B) {
+ %C1 = setlt int %A, %B
+ %ELIM1 = cast bool %C1 to uint
+ %C2 = setgt int %A, %B
+ %ELIM2 = cast bool %C2 to uint
+ %C3 = and uint %ELIM1, %ELIM2
+ %ELIM3 = cast uint %C3 to bool
+ ret bool %ELIM3
+}