Spill R4 if it's going to be used to restore SP from FP.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123567 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Evan Cheng
2011-01-16 05:14:33 +00:00
parent 9922ccf4b4
commit df55fea807
2 changed files with 29 additions and 4 deletions

View File

@@ -0,0 +1,17 @@
; RUN: llc -mtriple=thumbv6-apple-darwin < %s | FileCheck %s
; r8869722
%struct.state = type { i32, %struct.info*, float**, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64, i64, i64, i64, i64, i64, i8* }
%struct.info = type { i32, i32, i32, i32, i32, i32, i32, i8* }
define void @t1(%struct.state* %v) {
; CHECK: push {r4
%tmp6 = load i32* null
%tmp8 = alloca float, i32 %tmp6
store i32 1, i32* null
br label %return
return: ; preds = %0
; CHECK: mov sp, r4
ret void
}