[llvm-commits] [llvm] r48217 - /llvm/trunk/lib/Target/X86/X86RegisterInfo.td

Evan Cheng evan.cheng at apple.com
Tue Mar 11 00:16:00 PDT 2008


Author: evancheng
Date: Tue Mar 11 02:16:00 2008
New Revision: 48217

URL: http://llvm.org/viewvc/llvm-project?rev=48217&view=rev
Log:
In 32-bit mode, mark 64-bit GPR's as unallocatable.

Modified:
    llvm/trunk/lib/Target/X86/X86RegisterInfo.td

Modified: llvm/trunk/lib/Target/X86/X86RegisterInfo.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86RegisterInfo.td?rev=48217&r1=48216&r2=48217&view=diff

==============================================================================
--- llvm/trunk/lib/Target/X86/X86RegisterInfo.td (original)
+++ llvm/trunk/lib/Target/X86/X86RegisterInfo.td Tue Mar 11 02:16:00 2008
@@ -415,6 +415,9 @@
     GR64Class::allocation_order_end(const MachineFunction &MF) const {
       const TargetMachine &TM = MF.getTarget();
       const TargetRegisterInfo *RI = TM.getRegisterInfo();
+      const X86Subtarget &Subtarget = TM.getSubtarget<X86Subtarget>();
+      if (!Subtarget.is64Bit())
+        return begin();  // None of these are allocatable in 32-bit.
       if (RI->hasFP(MF)) // Does the function dedicate RBP to being a frame ptr?
         return end()-2;  // If so, don't allocate RSP or RBP
       else





More information about the llvm-commits mailing list