[llvm-commits] [llvm] r131619 - /llvm/trunk/lib/Target/ARM/ARMBaseRegisterInfo.cpp

Cameron Zwarich zwarich at apple.com
Wed May 18 19:18:27 PDT 2011


Author: zwarich
Date: Wed May 18 21:18:27 2011
New Revision: 131619

URL: http://llvm.org/viewvc/llvm-project?rev=131619&view=rev
Log:
Correctly constrain a register class when computing frame offsets, as the Thumb2
add instruction takes an rGPR. This fixes the last of PR8825.

Modified:
    llvm/trunk/lib/Target/ARM/ARMBaseRegisterInfo.cpp

Modified: llvm/trunk/lib/Target/ARM/ARMBaseRegisterInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMBaseRegisterInfo.cpp?rev=131619&r1=131618&r2=131619&view=diff
==============================================================================
--- llvm/trunk/lib/Target/ARM/ARMBaseRegisterInfo.cpp (original)
+++ llvm/trunk/lib/Target/ARM/ARMBaseRegisterInfo.cpp Wed May 18 21:18:27 2011
@@ -1111,6 +1111,10 @@
   if (Ins != MBB->end())
     DL = Ins->getDebugLoc();
 
+  const TargetInstrDesc &TID = TII.get(ADDriOpc);
+  MachineRegisterInfo &MRI = MBB->getParent()->getRegInfo();
+  MRI.constrainRegClass(BaseReg, TID.OpInfo[0].getRegClass(this));
+
   MachineInstrBuilder MIB =
     BuildMI(*MBB, Ins, DL, TII.get(ADDriOpc), BaseReg)
     .addFrameIndex(FrameIdx).addImm(Offset);





More information about the llvm-commits mailing list