Skip to content

Commit a383d32

Browse files
committed
[TargetRegisterInfo] Speed up getAllocatableSet. NFCI.
MachineRegisterInfo caches the reserved register set that is computed by by TargetRegisterInfo::getReservedRegs, so call into MRI to get the reserved regs to avoid recomputing them. In particular this speeds up AMDGPU's SIFormMemoryClauses pass because AMDGPU has a particularly complicated reserved set that is expensive to compute. Differential Revision: https://reviews.llvm.org/D102318
1 parent 06bb9cf commit a383d32

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

llvm/lib/CodeGen/TargetRegisterInfo.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -267,8 +267,9 @@ BitVector TargetRegisterInfo::getAllocatableSet(const MachineFunction &MF,
267267
}
268268

269269
// Mask out the reserved registers
270-
BitVector Reserved = getReservedRegs(MF);
271-
Allocatable &= Reserved.flip();
270+
const MachineRegisterInfo &MRI = MF.getRegInfo();
271+
const BitVector &Reserved = MRI.getReservedRegs();
272+
Allocatable.reset(Reserved);
272273

273274
return Allocatable;
274275
}

0 commit comments

Comments
 (0)