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

stacksaverestore.ll added (r1.1)
---
Log message:

new testcases for the stackrestore instcombine optimizations


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

 stacksaverestore.ll |   20 ++++++++++++++++++++
 1 files changed, 20 insertions(+)


Index: llvm/test/Regression/Transforms/InstCombine/stacksaverestore.ll
diff -c /dev/null 
llvm/test/Regression/Transforms/InstCombine/stacksaverestore.ll:1.1
*** /dev/null   Fri Jan 13 16:01:57 2006
--- llvm/test/Regression/Transforms/InstCombine/stacksaverestore.ll     Fri Jan 
13 16:01:47 2006
***************
*** 0 ****
--- 1,20 ----
+ ; RUN: llvm-as < %s | opt -instcombine -disable-output &&
+ ; RUN: llvm-as < %s | opt -instcombine | llvm-dis | not grep call
+ 
+ ;; Test that llvm.stackrestore is removed when possible.
+ 
+ int* %test1(uint %P) {
+         %tmp = call sbyte* %llvm.stacksave()
+         call void %llvm.stackrestore(sbyte* %tmp) ;; not restoring anything
+       %A = alloca int, uint %P
+         ret int* %A
+ }
+ 
+ void %test2(sbyte* %X) {
+       call void %llvm.stackrestore(sbyte* %X)  ;; no allocas before return.
+       ret void
+ }
+ 
+ declare sbyte* %llvm.stacksave()
+ 
+ declare void %llvm.stackrestore(sbyte*)



_______________________________________________
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits

Reply via email to