[llvm] r230339 - [x32] Mark RBX as reserved when EBX is the base pointer.

Michael Kuperstein michael.m.kuperstein at intel.com
Tue Feb 24 08:13:16 PST 2015


Author: mkuper
Date: Tue Feb 24 10:13:16 2015
New Revision: 230339

URL: http://llvm.org/viewvc/llvm-project?rev=230339&view=rev
Log:
[x32] Mark RBX as reserved when EBX is the base pointer.

This should have gone into r230334.

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

Modified: llvm/trunk/lib/Target/X86/X86RegisterInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86RegisterInfo.cpp?rev=230339&r1=230338&r2=230339&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86RegisterInfo.cpp (original)
+++ llvm/trunk/lib/Target/X86/X86RegisterInfo.cpp Tue Feb 24 10:13:16 2015
@@ -355,7 +355,9 @@ BitVector X86RegisterInfo::getReservedRe
         "Stack realignment in presence of dynamic allocas is not supported with"
         "this calling convention.");
 
-    for (MCSubRegIterator I(getBaseRegister(), this, /*IncludeSelf=*/true);
+    unsigned BasePtr = getX86SubSuperRegister(getBaseRegister(), MVT::i64,
+                                              false);
+    for (MCSubRegIterator I(BasePtr, this, /*IncludeSelf=*/true);
          I.isValid(); ++I)
       Reserved.set(*I);
   }





More information about the llvm-commits mailing list