mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-13 09:33:50 +00:00
Convert uses of getPhysicalRegisterRegClass in VirtRegRewriter.cpp.
The first one was used just to call isSafeToMoveRegClassDefs. In general, using a more specific reg class is better, in practice only x86 implements that method and the results are always the same. The second one is in FindFreeRegister and is used to check if a register is in a register class, a much more direct call to contains is better as it should cover more cases and is faster. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108093 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
f7d55b97f0
commit
db77609991
@ -768,7 +768,7 @@ void AvailableSpills::AddAvailableRegsToLiveIn(MachineBasicBlock &MBB,
|
||||
I = PhysRegsAvailable.begin(), E = PhysRegsAvailable.end();
|
||||
I != E; ++I) {
|
||||
unsigned Reg = I->first;
|
||||
const TargetRegisterClass* RC = TRI->getPhysicalRegisterRegClass(Reg);
|
||||
const TargetRegisterClass* RC = TRI->getMinimalPhysRegClass(Reg);
|
||||
// FIXME: A temporary workaround. We can't reuse available value if it's
|
||||
// not safe to move the def of the virtual register's class. e.g.
|
||||
// X86::RFP* register classes. Do not add it as a live-in.
|
||||
@ -1021,7 +1021,7 @@ static unsigned FindFreeRegister(MachineBasicBlock::iterator MII,
|
||||
for (unsigned i = 0, e = Kills.size(); i != e; ++i) {
|
||||
unsigned Kill = Kills[i];
|
||||
if (!Defs[Kill] && !Uses[Kill] &&
|
||||
TRI->getPhysicalRegisterRegClass(Kill) == RC)
|
||||
RC->contains(Kill))
|
||||
return Kill;
|
||||
}
|
||||
for (unsigned i = 0, e = LocalUses.size(); i != e; ++i) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user