ARM addrmode4 instructions (ldm, stm and friends) can't encode an immediate
authorJim Grosbach <grosbach@apple.com>
Mon, 18 Oct 2010 16:48:59 +0000 (16:48 +0000)
committerJim Grosbach <grosbach@apple.com>
Mon, 18 Oct 2010 16:48:59 +0000 (16:48 +0000)
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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116714 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/ARM/ARMBaseRegisterInfo.cpp

index 51e62a02b3ce5cad9c9b89f443035981454445c8..acb61b218ac7b000f946c4b09b7666f6d0c73ec0 100644 (file)
@@ -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: