From: Michael Kuperstein Date: Tue, 24 Feb 2015 16:13:16 +0000 (+0000) Subject: [x32] Mark RBX as reserved when EBX is the base pointer. X-Git-Tag: llvmorg-3.7.0-rc1~11042 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d2f3b87812cfeebf3861766562429354c9c37749;p=platform%2Fupstream%2Fllvm.git [x32] Mark RBX as reserved when EBX is the base pointer. This should have gone into r230334. llvm-svn: 230339 --- diff --git a/llvm/lib/Target/X86/X86RegisterInfo.cpp b/llvm/lib/Target/X86/X86RegisterInfo.cpp index 7f00fd3..cab7ce8 100644 --- a/llvm/lib/Target/X86/X86RegisterInfo.cpp +++ b/llvm/lib/Target/X86/X86RegisterInfo.cpp @@ -355,7 +355,9 @@ BitVector X86RegisterInfo::getReservedRegs(const MachineFunction &MF) const { "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); }