summaryrefslogtreecommitdiff
path: root/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
commit9d29cbad32814f31c91cd2464a3c74df412b0aac (patch)
tree9cd941c99a96a7b696293ade458ef59c09e4ab37 /lib/CodeGen/InterferenceCache.h
parent5fc25cccff3cdbfd34d08b9c1233f9af1879018c (diff)
downloadllvm-9d29cbad32814f31c91cd2464a3c74df412b0aac.tar.gz
llvm-9d29cbad32814f31c91cd2464a3c74df412b0aac.tar.bz2
llvm-9d29cbad32814f31c91cd2464a3c74df412b0aac.tar.xz
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129187 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/InterferenceCache.h')
-rw-r--r--lib/CodeGen/InterferenceCache.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/CodeGen/InterferenceCache.h b/lib/CodeGen/InterferenceCache.h
index 2e613ae095..6c36fa4021 100644
--- a/lib/CodeGen/InterferenceCache.h
+++ b/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;
}