diff options
author | Jim Grosbach <grosbach@apple.com> | 2010-10-18 16:48:59 +0000 |
---|---|---|
committer | Jim Grosbach <grosbach@apple.com> | 2010-10-18 16:48:59 +0000 |
commit | 00fe92da6be371867263be974c81b5bbddd6ad11 (patch) | |
tree | b4fb329e11575774d64a6968b7f1fa3d25050543 /llvm | |
parent | 8166eca7b4fdea9c4c4d3e21ce1b1f6110f15253 (diff) | |
download | bcm5719-llvm-00fe92da6be371867263be974c81b5bbddd6ad11.tar.gz bcm5719-llvm-00fe92da6be371867263be974c81b5bbddd6ad11.zip |
ARM addrmode4 instructions (ldm, stm and friends) can't encode an immediate
offset for stack references. Make sure we take that into account when
deciding whether to reserver an emergency spill slot for the register
scavenger. rdar://8559625
llvm-svn: 116714
Diffstat (limited to 'llvm')
-rw-r--r-- | llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp b/llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp index 51e62a02b3c..acb61b218ac 100644 --- a/llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp +++ b/llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp @@ -661,8 +661,9 @@ ARMBaseRegisterInfo::estimateRSStackSizeLimit(MachineFunction &MF) const { if (hasFP(MF) && AFI->hasStackFrame()) Limit = std::min(Limit, (1U << 8) - 1); break; + case ARMII::AddrMode4: case ARMII::AddrMode6: - // Addressing mode 6 (load/store) instructions can't encode an + // Addressing modes 4 & 6 (load/store) instructions can't encode an // immediate offset for stack references. return 0; default: |