1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 19:12:56 +02:00

hasFP should return true if frame address is taken.

llvm-svn: 73893
This commit is contained in:
Evan Cheng 2009-06-22 18:38:48 +00:00
parent 83b6bbdcb4
commit b37e7e24d0
2 changed files with 15 additions and 1 deletions

View File

@ -497,7 +497,9 @@ ARMRegisterInfo::requiresRegisterScavenging(const MachineFunction &MF) const {
///
bool ARMRegisterInfo::hasFP(const MachineFunction &MF) const {
const MachineFrameInfo *MFI = MF.getFrameInfo();
return NoFramePointerElim || MFI->hasVarSizedObjects();
return (NoFramePointerElim ||
MFI->hasVarSizedObjects() ||
MFI->isFrameAddressTaken());
}
// hasReservedCallFrame - Under normal circumstances, when a frame pointer is

View File

@ -0,0 +1,12 @@
; RUN: llvm-as < %s | llc -mtriple=arm-apple-darwin | grep mov | grep r7
; RUN: llvm-as < %s | llc -mtriple=arm-linux-gnueabi | grep mov | grep r11
; PR4344
; PR4416
define arm_aapcscc i8* @t() nounwind {
entry:
%0 = call i8* @llvm.frameaddress(i32 0)
ret i8* %0
}
declare i8* @llvm.frameaddress(i32) nounwind readnone