aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/InterferenceCache.h
diff options
context:
space:
mode:
authorJakob Stoklund Olesen <stoklund@2pi.dk>2011-04-09 02:59:05 +0000
committerJakob Stoklund Olesen <stoklund@2pi.dk>2011-04-09 02:59:05 +0000
commit4ad6c160a5894b0e3480c5e17b040985ce1893d2 (patch)
treeb2bf3fa4cd5626fba3a3b59840b851ea2e9e3bdf /llvm/lib/CodeGen/InterferenceCache.h
parent0359101df2ef11cff92204899e50043838214cc3 (diff)
downloadllvm-4ad6c160a5894b0e3480c5e17b040985ce1893d2.zip
llvm-4ad6c160a5894b0e3480c5e17b040985ce1893d2.tar.gz
llvm-4ad6c160a5894b0e3480c5e17b040985ce1893d2.tar.bz2
Precompute interference for neighbor blocks as long as there is no interference.
This doesn't require seeking in the live interval union, so it is very cheap. llvm-svn: 129187
Diffstat (limited to 'llvm/lib/CodeGen/InterferenceCache.h')
-rw-r--r--llvm/lib/CodeGen/InterferenceCache.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/llvm/lib/CodeGen/InterferenceCache.h b/llvm/lib/CodeGen/InterferenceCache.h
index 2e613ae..6c36fa4 100644
--- a/llvm/lib/CodeGen/InterferenceCache.h
+++ b/llvm/lib/CodeGen/InterferenceCache.h
@@ -43,6 +43,9 @@ class InterferenceCache {
/// change.
unsigned Tag;
+ /// MF - The current function.
+ MachineFunction *MF;
+
/// Indexes - Mapping block numbers to SlotIndex ranges.
SlotIndexes *Indexes;
@@ -67,8 +70,9 @@ class InterferenceCache {
public:
Entry() : PhysReg(0), Tag(0), Indexes(0) {}
- void clear(SlotIndexes *indexes) {
+ void clear(MachineFunction *mf, SlotIndexes *indexes) {
PhysReg = 0;
+ MF = mf;
Indexes = indexes;
}