[llvm-commits] [llvm] r112828 - /llvm/trunk/lib/Target/TargetRegisterInfo.cpp
Jakob Stoklund Olesen
stoklund at 2pi.dk
Thu Sep 2 11:02:42 PDT 2010
On Sep 2, 2010, at 9:31 AM, Jim Grosbach wrote:
> Author: grosbach
> Date: Thu Sep 2 11:31:21 2010
> New Revision: 112828
>
> URL: http://llvm.org/viewvc/llvm-project?rev=112828&view=rev
> Log:
> Mask out reserved registers when constructing the set of allocatable regs.
>
> Modified:
> llvm/trunk/lib/Target/TargetRegisterInfo.cpp
>
> Modified: llvm/trunk/lib/Target/TargetRegisterInfo.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/TargetRegisterInfo.cpp?rev=112828&r1=112827&r2=112828&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Target/TargetRegisterInfo.cpp (original)
> +++ llvm/trunk/lib/Target/TargetRegisterInfo.cpp Thu Sep 2 11:31:21 2010
> @@ -80,6 +80,11 @@
> for (TargetRegisterInfo::regclass_iterator I = regclass_begin(),
> E = regclass_end(); I != E; ++I)
> getAllocatableSetForRC(MF, *I, Allocatable);
> +
> + // Mask out the reserved registers
> + BitVector Reserved = getReservedRegs(MF);
> + Allocatable ^= Reserved & Allocatable;
> +
> return Allocatable;
> }
Jim,
I think you should include the case where RC is non-NULL as well. It is used by AggressiveAntiDepBreaker and SimpleRegisterCoalescing.
/jakob
More information about the llvm-commits
mailing list