[llvm-commits] CVS: llvm/test/Regression/Transforms/LoopStrengthReduce/different-type-ivs.ll

Chris Lattner lattner at cs.uiuc.edu
Mon Aug 8 15:14:02 PDT 2005



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

different-type-ivs.ll added (r1.1)
---
Log message:

A testcase I don't want to break in the future


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

 different-type-ivs.ll |   26 ++++++++++++++++++++++++++
 1 files changed, 26 insertions(+)


Index: llvm/test/Regression/Transforms/LoopStrengthReduce/different-type-ivs.ll
diff -c /dev/null llvm/test/Regression/Transforms/LoopStrengthReduce/different-type-ivs.ll:1.1
*** /dev/null	Mon Aug  8 17:13:59 2005
--- llvm/test/Regression/Transforms/LoopStrengthReduce/different-type-ivs.ll	Mon Aug  8 17:13:49 2005
***************
*** 0 ****
--- 1,26 ----
+ ; RUN: llvm-as < %s | opt -loop-reduce -disable-output
+ ; Test to make sure that loop-reduce never crashes on IV's 
+ ; with different types but identical strides.
+ 
+ void %foo() {
+ entry:
+ 	br label %no_exit
+ 
+ no_exit:		; preds = %no_exit, %entry
+ 	%indvar = phi uint [ 0, %entry ], [ %indvar.next, %no_exit ]		; <uint> [#uses=3]
+ 	%indvar = cast uint %indvar to short		; <short> [#uses=1]
+ 	%X.0.0 = mul short %indvar, 1234		; <short> [#uses=1]
+ 	%tmp. = mul uint %indvar, 1234		; <uint> [#uses=1]
+ 	%tmp.5 = cast short %X.0.0 to int		; <int> [#uses=1]
+ 	%tmp.3 = call int (...)* %bar( int %tmp.5, uint %tmp. )		; <int> [#uses=0]
+ 	%tmp.0 = call bool %pred( )		; <int> [#uses=1]
+ 	%indvar.next = add uint %indvar, 1		; <uint> [#uses=1]
+ 	br bool %tmp.0, label %return, label %no_exit
+ 
+ return:
+ 	ret void
+ }
+ 
+ declare bool %pred()
+ 
+ declare int %bar(...)






More information about the llvm-commits mailing list