mi-sched: update PressureDiffs on-the-fly for liveness.

This removes all expensive pressure tracking logic from the scheduling
critical path of node comparison.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189643 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Andrew Trick
2013-08-30 04:36:57 +00:00
parent 1362dcb589
commit 663bd99227
6 changed files with 97 additions and 31 deletions

View File

@ -296,6 +296,12 @@ namespace llvm {
return r != end() && r->end.getBaseIndex() == BaseIdx;
}
/// Return true if a live range starts at the instruction at this index.
bool isDefinedByInstr(SlotIndex index) const {
const_iterator r = find(index.getDeadSlot());
return r != end() && r->end.getBaseIndex() == index.getBaseIndex();
}
/// getLiveRangeContaining - Return the live range that contains the
/// specified index, or null if there is none.
const LiveRange *getLiveRangeContaining(SlotIndex Idx) const {