[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