Rewrite stack callee saved spills and restores to use push/pop instructions.

Remove movePastCSLoadStoreOps and associated code for simple pointer
increments. Update routines that depended upon other opcodes for save/restore.

Adjust all testcases accordingly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119725 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Eric Christopher
2010-11-18 19:40:05 +00:00
parent 9fe010ecf8
commit 8b3ca6216d
7 changed files with 200 additions and 97 deletions

View File

@@ -4,8 +4,8 @@
define i64 @t(i64 %a) nounwind readonly {
entry:
; CHECK: str lr, [sp, #-4]!
; CHECK: ldr lr, [sp], #4
; CHECK: push {lr}
; CHECK: ldmia sp!, {pc}
%0 = load i64** @b, align 4
%1 = load i64* %0, align 4
%2 = mul i64 %1, %a