[llvm-commits] 	CVS: llvm/test/Regression/Transforms/LCSSA/2006-06-12-MultipleExitsSameBlock.ll
    Owen Anderson 
    resistor at mac.com
       
    Mon Jun 12 00:05:59 PDT 2006
    
    
  
Changes in directory llvm/test/Regression/Transforms/LCSSA:
2006-06-12-MultipleExitsSameBlock.ll added (r1.1)
---
Log message:
Make sure that LCSSA works properly when it encounters an exit block that has
more than one predecessor inside the loop.
---
Diffs of the changes:  (+28 -0)
 2006-06-12-MultipleExitsSameBlock.ll |   28 ++++++++++++++++++++++++++++
 1 files changed, 28 insertions(+)
Index: llvm/test/Regression/Transforms/LCSSA/2006-06-12-MultipleExitsSameBlock.ll
diff -c /dev/null llvm/test/Regression/Transforms/LCSSA/2006-06-12-MultipleExitsSameBlock.ll:1.1
*** /dev/null	Mon Jun 12 02:05:57 2006
--- llvm/test/Regression/Transforms/LCSSA/2006-06-12-MultipleExitsSameBlock.ll	Mon Jun 12 02:05:47 2006
***************
*** 0 ****
--- 1,28 ----
+ ; RUN: llvm-as < %s | opt -lcssa | llvm-dis | grep "%X.1.lcssa" &&
+ ; RUN: llvm-as < %s | opt -lcssa | llvm-dis | not grep "%X.1.lcssa1"
+ 
+ declare bool %c1()
+ declare bool %c2()
+ 
+ int %foo() {
+ entry:
+   br label %loop_begin
+ 
+ loop_begin:
+   br bool true, label %loop_body.1, label %loop_exit2
+ 
+ loop_body.1:
+   %X.1 = add int 0, 1
+   %rel.1 = call bool %c1()
+   br bool %rel.1, label %loop_exit, label %loop_body.2
+   
+ loop_body.2:
+   %rel.2 = call bool %c2()
+   br bool %rel.2, label %loop_exit, label %loop_begin
+ 
+ loop_exit:
+   ret int %X.1
+   
+ loop_exit2:
+   ret int 1
+ }
    
    
More information about the llvm-commits
mailing list