[llvm-commits] CVS: llvm/test/Regression/Transforms/PredicateSimplifier/2006-10-22-IntOr.ll

Nick Lewycky nicholas at mxc.ca
Sun Oct 22 14:36:58 PDT 2006



Changes in directory llvm/test/Regression/Transforms/PredicateSimplifier:

2006-10-22-IntOr.ll added (r1.1)
---
Log message:

Handle "if ((x|y) != 0)" for ints like we do for bools. Fixes missed
optimization opportunity pointed out by Chris Lattner.


---
Diffs of the changes:  (+21 -0)

 2006-10-22-IntOr.ll |   21 +++++++++++++++++++++
 1 files changed, 21 insertions(+)


Index: llvm/test/Regression/Transforms/PredicateSimplifier/2006-10-22-IntOr.ll
diff -c /dev/null llvm/test/Regression/Transforms/PredicateSimplifier/2006-10-22-IntOr.ll:1.1
*** /dev/null	Sun Oct 22 16:36:51 2006
--- llvm/test/Regression/Transforms/PredicateSimplifier/2006-10-22-IntOr.ll	Sun Oct 22 16:36:41 2006
***************
*** 0 ****
--- 1,21 ----
+ ; RUN: llvm-as < %s | opt -predsimplify -instcombine -simplifycfg | llvm-dis | grep -v declare | not grep fail
+ 
+ int %f(int %x, int %y) {
+ entry:
+ 	%tmp2 = or int %x, %y		; <int> [#uses=1]
+ 	%tmp = setne int %tmp2, 0		; <bool> [#uses=1]
+ 	br bool %tmp, label %cond_true, label %return
+ 
+ cond_true:		; preds = %entry
+ 	%tmp4 = seteq int %x, 0		; <bool> [#uses=1]
+ 	br bool %tmp4, label %cond_true5, label %return
+ 
+ cond_true5:		; preds = %cond_true
+ 	%tmp6 = call int %fail( )		; <int> [#uses=0]
+ 	ret int %tmp6
+ 
+ return:		; preds = %cond_next7
+ 	ret int 0
+ }
+ 
+ declare int %fail()






More information about the llvm-commits mailing list