[llvm-commits] CVS: llvm/test/Regression/Transforms/ADCE/2003-04-25-PHIPostDominateProblem.ll

Chris Lattner lattner at cs.uiuc.edu
Fri Apr 25 17:54:01 PDT 2003


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

2003-04-25-PHIPostDominateProblem.ll added (r1.1)

---
Log message:

New testcase


---
Diffs of the changes:

Index: llvm/test/Regression/Transforms/ADCE/2003-04-25-PHIPostDominateProblem.ll
diff -c /dev/null llvm/test/Regression/Transforms/ADCE/2003-04-25-PHIPostDominateProblem.ll:1.1
*** /dev/null	Fri Apr 25 17:53:23 2003
--- llvm/test/Regression/Transforms/ADCE/2003-04-25-PHIPostDominateProblem.ll	Fri Apr 25 17:53:12 2003
***************
*** 0 ****
--- 1,37 ----
+ ; THis testcase caused an assertion failure because a PHI node did not have 
+ ; entries for it's postdominator.  But I think this can only happen when the 
+ ; PHI node is dead, so we just avoid patching up dead PHI nodes.
+ 
+ ; RUN: as < %s | opt -adce
+ 
+ target endian = little
+ target pointersize = 32
+ 
+ implementation   ; Functions:
+ 
+ void %dead_test8() {
+ entry:		; No predecessors!
+ 	br label %loopentry
+ 
+ loopentry:		; preds = %entry, %endif
+ 	%k.1 = phi int [ %k.0, %endif ], [ 0, %entry ]		; <int> [#uses=1]
+ 	br bool false, label %no_exit, label %return
+ 
+ no_exit:		; preds = %loopentry
+ 	br bool false, label %then, label %else
+ 
+ then:		; preds = %no_exit
+ 	br label %endif
+ 
+ else:		; preds = %no_exit
+ 	%dec = add int %k.1, -1		; <int> [#uses=1]
+ 	br label %endif
+ 
+ endif:		; preds = %else, %then
+ 	%k.0 = phi int [ %dec, %else ], [ 0, %then ]		; <int> [#uses=1]
+ 	store int 2, int* null
+ 	br label %loopentry
+ 
+ return:		; preds = %loopentry
+ 	ret void
+ }





More information about the llvm-commits mailing list