[llvm-commits] CVS: llvm/test/Regression/Transforms/InstCombine/narrow.ll bit-tracking.ll
Chris Lattner
lattner at cs.uiuc.edu
Sat Feb 11 18:02:54 PST 2006
Changes in directory llvm/test/Regression/Transforms/InstCombine:
narrow.ll added (r1.1)
bit-tracking.ll updated: 1.3 -> 1.4
---
Log message:
move a failing testcase from bit-tracking.ll to narrow.ll, and move the
xfail marker with it
---
Diffs of the changes: (+18 -22)
bit-tracking.ll | 22 ----------------------
narrow.ll | 18 ++++++++++++++++++
2 files changed, 18 insertions(+), 22 deletions(-)
Index: llvm/test/Regression/Transforms/InstCombine/narrow.ll
diff -c /dev/null llvm/test/Regression/Transforms/InstCombine/narrow.ll:1.1
*** /dev/null Sat Feb 11 20:02:53 2006
--- llvm/test/Regression/Transforms/InstCombine/narrow.ll Sat Feb 11 20:02:43 2006
***************
*** 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
+ }
Index: llvm/test/Regression/Transforms/InstCombine/bit-tracking.ll
diff -u llvm/test/Regression/Transforms/InstCombine/bit-tracking.ll:1.3 llvm/test/Regression/Transforms/InstCombine/bit-tracking.ll:1.4
--- llvm/test/Regression/Transforms/InstCombine/bit-tracking.ll:1.3 Sat Nov 6 14:38:27 2004
+++ llvm/test/Regression/Transforms/InstCombine/bit-tracking.ll Sat Feb 11 20:02:43 2006
@@ -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
More information about the llvm-commits
mailing list