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