mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-24 11:42:57 +01:00
Ugh, perform an optimization that GCC should be able to do itself. This
speeds up livevar from .48/.32s -> .45/.31s in LLC on perlbmk llvm-svn: 11217
This commit is contained in:
parent
b665065e6d
commit
9fb6056f1f
@ -146,14 +146,15 @@ void LiveVariables::HandlePhysRegDef(unsigned Reg, MachineInstr *MI) {
|
||||
|
||||
for (const unsigned *AliasSet = RegInfo->getAliasSet(Reg);
|
||||
*AliasSet; ++AliasSet) {
|
||||
if (MachineInstr *LastUse = PhysRegInfo[*AliasSet]) {
|
||||
if (PhysRegUsed[*AliasSet])
|
||||
RegistersKilled.insert(std::make_pair(LastUse, *AliasSet));
|
||||
unsigned Alias = *AliasSet;
|
||||
if (MachineInstr *LastUse = PhysRegInfo[Alias]) {
|
||||
if (PhysRegUsed[Alias])
|
||||
RegistersKilled.insert(std::make_pair(LastUse, Alias));
|
||||
else
|
||||
RegistersDead.insert(std::make_pair(LastUse, *AliasSet));
|
||||
RegistersDead.insert(std::make_pair(LastUse, Alias));
|
||||
}
|
||||
PhysRegInfo[*AliasSet] = MI;
|
||||
PhysRegUsed[*AliasSet] = false;
|
||||
PhysRegInfo[Alias] = MI;
|
||||
PhysRegUsed[Alias] = false;
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user