[llvm-commits] CVS: llvm/test/Regression/Transforms/CorrelatedExprs/2002-10-08-DominatorTest.ll 2002-10-08-DominatorTest2.ll

Chris Lattner lattner at cs.uiuc.edu
Thu May 29 15:16:01 PDT 2003


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

2002-10-08-DominatorTest.ll added (r1.1)
2002-10-08-DominatorTest2.ll added (r1.1)

---
Log message:

New testcases


---
Diffs of the changes:

Index: llvm/test/Regression/Transforms/CorrelatedExprs/2002-10-08-DominatorTest.ll
diff -c /dev/null llvm/test/Regression/Transforms/CorrelatedExprs/2002-10-08-DominatorTest.ll:1.1
*** /dev/null	Thu May 29 15:15:45 2003
--- llvm/test/Regression/Transforms/CorrelatedExprs/2002-10-08-DominatorTest.ll	Thu May 29 15:15:35 2003
***************
*** 0 ****
--- 1,32 ----
+ ; Test to make sure that SSA is correctly updated
+ ; RUN: as < %s | opt -cee
+ ;
+ implementation   ; Functions:
+ 
+ int %test(int %A, int %B, bool %c0) {
+ Start:		; No predecessors!
+ 	%c1 = seteq int %A, %B		; <bool> [#uses=1]
+ 	br bool %c1, label %Eq, label %Start_crit_edge
+ 
+ Start_crit_edge:		; preds = %Start
+ 	br label %Loop
+ 
+ Eq:		; preds = %Start
+ 	br label %Loop
+ 
+ Loop:		; preds = %Bottom, %Eq, %Start_crit_edge
+ 	%Z = phi int [ %A, %Start_crit_edge ], [ %B, %Eq ], [ %Z, %Bottom ]		; <int> [#uses=2]
+ 	%c2 = setge int %A, %B		; <bool> [#uses=1]
+ 	br bool %c2, label %Forwarded, label %Loop_crit_edge
+ 
+ Loop_crit_edge:		; preds = %Loop
+ 	br label %Bottom
+ 
+ Forwarded:		; preds = %Loop
+ 	%Z2 = phi int [ %Z, %Loop ]		; <int> [#uses=1]
+ 	call int %test( int 0, int %Z2, bool true )		; <int>:0 [#uses=0]
+ 	br label %Bottom
+ 
+ Bottom:		; preds = %Forwarded, %Loop_crit_edge
+ 	br label %Loop
+ }


Index: llvm/test/Regression/Transforms/CorrelatedExprs/2002-10-08-DominatorTest2.ll
diff -c /dev/null llvm/test/Regression/Transforms/CorrelatedExprs/2002-10-08-DominatorTest2.ll:1.1
*** /dev/null	Thu May 29 15:15:45 2003
--- llvm/test/Regression/Transforms/CorrelatedExprs/2002-10-08-DominatorTest2.ll	Thu May 29 15:15:35 2003
***************
*** 0 ****
--- 1,34 ----
+ ; Simple test to make sure dominators are updated properly
+ ; RUN: as < %s | opt -cee
+ 
+ implementation   ; Functions:
+ 
+ int %test(int %A, int %B, bool %c0) {
+ Start:		; No predecessors!
+ 	%c1 = seteq int %A, %B		; <bool> [#uses=1]
+ 	br bool %c1, label %Eq, label %Start_crit_edge
+ 
+ Start_crit_edge:		; preds = %Start
+ 	br label %Loop
+ 
+ Eq:		; preds = %Start
+ 	br label %Loop
+ 
+ Loop:		; preds = %Bottom, %Eq, %Start_crit_edge
+ 	%Z = phi int [ %A, %Start_crit_edge ], [ %B, %Eq ];, [ %Z, %Bottom ]		; <int> [#uses=2]
+ 	%c2 = setge int %A, %B		; <bool> [#uses=1]
+ 	br bool %c2, label %Forwarded, label %Loop_crit_edge
+ 
+ Loop_crit_edge:		; preds = %Loop
+ 	%X = seteq int %Z, 7
+ 	br bool %X, label %Forwarded, label %Bottom
+ 
+ Forwarded:		; preds = %Loop
+ 	%Z2 = phi int [ %Z, %Loop ], [%Z, %Loop_crit_edge]		; <int> [#uses=1]
+ 	call int %test( int %Z, int %Z2, bool true )		; <int>:0 [#uses=0]
+ 	br label %Bottom
+ 
+ Bottom:		; preds = %Forwarded, %Loop_crit_edge
+ 	ret int %Z
+ 	;br label %Loop
+ }





More information about the llvm-commits mailing list