diff options
author | Chris Lattner <sabre@nondot.org> | 2008-01-07 01:56:04 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2008-01-07 01:56:04 +0000 |
commit | a98c679de05bedf3bb1bf7574abd1a84ce5041b1 (patch) | |
tree | 33f545cec3474907cff3c9be73e0600fd4214c8d /llvm/lib/CodeGen/LiveIntervalAnalysis.cpp | |
parent | 0ec92e9d648c9eb06a563bc84c211ec7329af507 (diff) | |
download | bcm5719-llvm-a98c679de05bedf3bb1bf7574abd1a84ce5041b1.tar.gz bcm5719-llvm-a98c679de05bedf3bb1bf7574abd1a84ce5041b1.zip |
Rename MachineInstr::getInstrDescriptor -> getDesc(), which reflects
that it is cheap and efficient to get.
Move a variety of predicates from TargetInstrInfo into
TargetInstrDescriptor, which makes it much easier to query a predicate
when you don't have TII around. Now you can use MI->getDesc()->isBranch()
instead of going through TII, and this is much more efficient anyway. Not
all of the predicates have been moved over yet.
Update old code that used MI->getInstrDescriptor()->Flags to use the
new predicates in many places.
llvm-svn: 45674
Diffstat (limited to 'llvm/lib/CodeGen/LiveIntervalAnalysis.cpp')
-rw-r--r-- | llvm/lib/CodeGen/LiveIntervalAnalysis.cpp | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/llvm/lib/CodeGen/LiveIntervalAnalysis.cpp b/llvm/lib/CodeGen/LiveIntervalAnalysis.cpp index 6f74774df8b..6701e5b93fe 100644 --- a/llvm/lib/CodeGen/LiveIntervalAnalysis.cpp +++ b/llvm/lib/CodeGen/LiveIntervalAnalysis.cpp @@ -615,7 +615,7 @@ bool LiveIntervals::isReMaterializable(const LiveInterval &li, return false; isLoad = false; - const TargetInstrDescriptor *TID = MI->getInstrDescriptor(); + const TargetInstrDescriptor *TID = MI->getDesc(); if ((TID->Flags & M_IMPLICIT_DEF_FLAG) || tii_->isTriviallyReMaterializable(MI)) { isLoad = TID->isSimpleLoad(); @@ -680,7 +680,7 @@ bool LiveIntervals::tryFoldMemoryOperand(MachineInstr* &MI, SmallVector<unsigned, 2> &Ops, bool isSS, int Slot, unsigned Reg) { unsigned MRInfo = 0; - const TargetInstrDescriptor *TID = MI->getInstrDescriptor(); + const TargetInstrDescriptor *TID = MI->getDesc(); // If it is an implicit def instruction, just delete it. if (TID->Flags & M_IMPLICIT_DEF_FLAG) { RemoveMachineInstrFromMaps(MI); @@ -1226,7 +1226,7 @@ addIntervalsForSpills(const LiveInterval &li, int LdSlot = 0; bool isLoadSS = DefIsReMat && tii_->isLoadFromStackSlot(ReMatDefMI, LdSlot); bool isLoad = isLoadSS || - (DefIsReMat && (ReMatDefMI->getInstrDescriptor()->isSimpleLoad())); + (DefIsReMat && (ReMatDefMI->getDesc()->isSimpleLoad())); bool IsFirstRange = true; for (LiveInterval::Ranges::const_iterator I = li.ranges.begin(), E = li.ranges.end(); I != E; ++I) { @@ -1308,7 +1308,7 @@ addIntervalsForSpills(const LiveInterval &li, int LdSlot = 0; bool isLoadSS = DefIsReMat && tii_->isLoadFromStackSlot(ReMatDefMI, LdSlot); bool isLoad = isLoadSS || - (DefIsReMat && ReMatDefMI->getInstrDescriptor()->isSimpleLoad()); + (DefIsReMat && ReMatDefMI->getDesc()->isSimpleLoad()); rewriteInstructionsForSpills(li, TrySplit, I, ReMatOrigDefMI, ReMatDefMI, Slot, LdSlot, isLoad, isLoadSS, DefIsReMat, CanDelete, vrm, RegInfo, rc, ReMatIds, loopInfo, @@ -1423,7 +1423,7 @@ addIntervalsForSpills(const LiveInterval &li, int LdSlot = 0; bool isLoadSS = tii_->isLoadFromStackSlot(ReMatDefMI, LdSlot); // If the rematerializable def is a load, also try to fold it. - if (isLoadSS || ReMatDefMI->getInstrDescriptor()->isSimpleLoad()) + if (isLoadSS || ReMatDefMI->getDesc()->isSimpleLoad()) Folded = tryFoldMemoryOperand(MI, vrm, ReMatDefMI, index, Ops, isLoadSS, LdSlot, VReg); } @@ -1451,8 +1451,8 @@ addIntervalsForSpills(const LiveInterval &li, MachineInstr *LastUse = getInstructionFromIndex(LastUseIdx); int UseIdx = LastUse->findRegisterUseOperandIdx(LI->reg); assert(UseIdx != -1); - if (LastUse->getInstrDescriptor()-> - getOperandConstraint(UseIdx, TOI::TIED_TO) == -1) { + if (LastUse->getDesc()->getOperandConstraint(UseIdx, TOI::TIED_TO) == + -1) { LastUse->getOperand(UseIdx).setIsKill(); vrm.addKillPoint(LI->reg, LastUseIdx); } |