Make the global base reg GR32_NOSP.
authorJakob Stoklund Olesen <stoklund@2pi.dk>
Sun, 20 May 2012 18:43:00 +0000 (18:43 +0000)
committerJakob Stoklund Olesen <stoklund@2pi.dk>
Sun, 20 May 2012 18:43:00 +0000 (18:43 +0000)
It can sometimes be used in addressing modes that don't support %ESP.

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

lib/Target/X86/X86InstrInfo.cpp

index 5a5ba2fd2d29f03ff8bc1db275b4aaa30a4f2ee9..d8fd9064f3d4c67b22244a489a522a92b19f76a2 100644 (file)
@@ -3627,7 +3627,7 @@ unsigned X86InstrInfo::getGlobalBaseReg(MachineFunction *MF) const {
   // Create the register. The code to initialize it is inserted
   // later, by the CGBR pass (below).
   MachineRegisterInfo &RegInfo = MF->getRegInfo();
-  GlobalBaseReg = RegInfo.createVirtualRegister(&X86::GR32RegClass);
+  GlobalBaseReg = RegInfo.createVirtualRegister(&X86::GR32_NOSPRegClass);
   X86FI->setGlobalBaseReg(GlobalBaseReg);
   return GlobalBaseReg;
 }