[llvm-commits] CVS: llvm/test/Regression/Transforms/CodeExtractor/2004-03-14-DominanceProblem.ll

Chris Lattner lattner at cs.uiuc.edu
Sun Mar 14 18:10:01 PST 2004


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

2004-03-14-DominanceProblem.ll added (r1.1)

---
Log message:

New testcase that causes the code extractor to generate bogus code.


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

Index: llvm/test/Regression/Transforms/CodeExtractor/2004-03-14-DominanceProblem.ll
diff -c /dev/null llvm/test/Regression/Transforms/CodeExtractor/2004-03-14-DominanceProblem.ll:1.1
*** /dev/null	Sun Mar 14 18:08:59 2004
--- llvm/test/Regression/Transforms/CodeExtractor/2004-03-14-DominanceProblem.ll	Sun Mar 14 18:08:49 2004
***************
*** 0 ****
--- 1,34 ----
+ ; RUN: llvm-as < %s | opt -loop-extract -disable-output
+ ; This testcase is failing the loop extractor because not all exit blocks 
+ ; are dominated by all of the live-outs.
+ 
+ implementation   ; Functions:
+ 
+ int %ab(int %alpha, int %beta) {
+ entry:
+ 	br label %loopentry.1.preheader
+ 
+ loopentry.1.preheader:		; preds = %then.1
+ 	br label %loopentry.1
+ 
+ loopentry.1:		; preds = %loopentry.1.preheader, %no_exit.1
+ 	br bool false, label %no_exit.1, label %loopexit.0.loopexit1
+ 
+ no_exit.1:		; preds = %loopentry.1
+ 	%tmp.53 = load int* null		; <int> [#uses=1]
+ 	br bool false, label %shortcirc_next.2, label %loopentry.1
+ 
+ shortcirc_next.2:		; preds = %no_exit.1
+ 	%tmp.563 = call int %wins( int 0, int %tmp.53, int 3 )		; <int> [#uses=0]
+ 	ret int 0
+ 
+ loopexit.0.loopexit1:		; preds = %loopentry.1
+ 	br label %loopexit.0
+ 
+ loopexit.0:		; preds = %loopexit.0.loopexit, %loopexit.0.loopexit1
+ 	ret int 0
+ }
+ 
+ declare int %wins(int, int, int)
+ 
+ declare ushort %ab_code()





More information about the llvm-commits mailing list