[llvm-commits] CVS: llvm/test/Regression/Transforms/PredicateSimplifier/2006-09-20-ResolveCycle.ll

Nick Lewycky nicholas at mxc.ca
Wed Sep 20 10:04:18 PDT 2006



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

2006-09-20-ResolveCycle.ll added (r1.1)
---
Log message:

Use a total ordering to compare instructions.
Fixes infinite loop in resolve().


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

 2006-09-20-ResolveCycle.ll |   28 ++++++++++++++++++++++++++++
 1 files changed, 28 insertions(+)


Index: llvm/test/Regression/Transforms/PredicateSimplifier/2006-09-20-ResolveCycle.ll
diff -c /dev/null llvm/test/Regression/Transforms/PredicateSimplifier/2006-09-20-ResolveCycle.ll:1.1
*** /dev/null	Wed Sep 20 12:04:11 2006
--- llvm/test/Regression/Transforms/PredicateSimplifier/2006-09-20-ResolveCycle.ll	Wed Sep 20 12:04:01 2006
***************
*** 0 ****
--- 1,28 ----
+ ; RUN: llvm-as < %s | opt -predsimplify -disable-output
+ 
+ void %gs_image_next() {
+ entry:
+ 	%tmp = load uint* null		; <uint> [#uses=2]
+ 	br bool false, label %cond_next21, label %UnifiedReturnBlock
+ 
+ cond_next21:		; preds = %entry
+ 	br bool false, label %cond_next42, label %UnifiedReturnBlock
+ 
+ cond_next42:		; preds = %cond_next21
+ 	br label %cond_true158
+ 
+ cond_next134:		; preds = %cond_true158
+ 	%tmp1571 = seteq uint 0, %min		; <bool> [#uses=0]
+ 	ret void
+ 
+ cond_true158:		; preds = %cond_true158, %cond_next42
+ 	%tmp47 = sub uint %tmp, 0		; <uint> [#uses=2]
+ 	%tmp49 = setle uint %tmp47, 0		; <bool> [#uses=1]
+ 	%min = select bool %tmp49, uint %tmp47, uint 0		; <uint> [#uses=2]
+ 	%tmp92 = add uint %min, 0		; <uint> [#uses=1]
+ 	%tmp101 = seteq uint %tmp92, %tmp		; <bool> [#uses=1]
+ 	br bool %tmp101, label %cond_next134, label %cond_true158
+ 
+ UnifiedReturnBlock:		; preds = %cond_next21, %entry
+ 	ret void
+ }






More information about the llvm-commits mailing list