From: Jim Grosbach Date: Thu, 2 Sep 2010 16:31:21 +0000 (+0000) Subject: Mask out reserved registers when constructing the set of allocatable regs. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=5a0fabae5a1792d20df23b6cbd573a9121637d12;p=oota-llvm.git Mask out reserved registers when constructing the set of allocatable regs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112828 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/TargetRegisterInfo.cpp b/lib/Target/TargetRegisterInfo.cpp index 49bfad54136..cdbe51fbdd9 100644 --- a/lib/Target/TargetRegisterInfo.cpp +++ b/lib/Target/TargetRegisterInfo.cpp @@ -80,6 +80,11 @@ BitVector TargetRegisterInfo::getAllocatableSet(const MachineFunction &MF, 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; }