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


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11217 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2004-02-09 01:43:23 +00:00
parent 96aef89338
commit 499487742e

View File

@ -146,14 +146,15 @@ void LiveVariables::HandlePhysRegDef(unsigned Reg, MachineInstr *MI) {
for (const unsigned *AliasSet = RegInfo->getAliasSet(Reg); for (const unsigned *AliasSet = RegInfo->getAliasSet(Reg);
*AliasSet; ++AliasSet) { *AliasSet; ++AliasSet) {
if (MachineInstr *LastUse = PhysRegInfo[*AliasSet]) { unsigned Alias = *AliasSet;
if (PhysRegUsed[*AliasSet]) if (MachineInstr *LastUse = PhysRegInfo[Alias]) {
RegistersKilled.insert(std::make_pair(LastUse, *AliasSet)); if (PhysRegUsed[Alias])
RegistersKilled.insert(std::make_pair(LastUse, Alias));
else else
RegistersDead.insert(std::make_pair(LastUse, *AliasSet)); RegistersDead.insert(std::make_pair(LastUse, Alias));
} }
PhysRegInfo[*AliasSet] = MI; PhysRegInfo[Alias] = MI;
PhysRegUsed[*AliasSet] = false; PhysRegUsed[Alias] = false;
} }
} }