aboutsummaryrefslogtreecommitdiffstats
path: root/lib/CodeGen/RegAllocBase.h
diff options
context:
space:
mode:
authorJakob Stoklund Olesen <stoklund@2pi.dk>2011-05-10 17:37:41 +0000
committerJakob Stoklund Olesen <stoklund@2pi.dk>2011-05-10 17:37:41 +0000
commitbdda37d7fbafe6876f248341837423a4100f95a5 (patch)
tree19a15ab39a313eee8b388aa6e4e4f1f6ad46d705 /lib/CodeGen/RegAllocBase.h
parent0d450dc65906a30beb56aeb1ee22b45b1cd4596c (diff)
downloadexternal_llvm-bdda37d7fbafe6876f248341837423a4100f95a5.tar.gz
external_llvm-bdda37d7fbafe6876f248341837423a4100f95a5.tar.bz2
external_llvm-bdda37d7fbafe6876f248341837423a4100f95a5.zip
Fix PR9883. Make sure all caches are invalidated when a live range is repaired.
The previous invalidation missed the alias interference caches. Also add a stats counter for the number of repaired ranges. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131133 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/RegAllocBase.h')
-rw-r--r--lib/CodeGen/RegAllocBase.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/CodeGen/RegAllocBase.h b/lib/CodeGen/RegAllocBase.h
index f431d5a5a0..b25ea23f85 100644
--- a/lib/CodeGen/RegAllocBase.h
+++ b/lib/CodeGen/RegAllocBase.h
@@ -113,6 +113,10 @@ protected:
return Queries[PhysReg];
}
+ // Invalidate all cached information about virtual registers - live ranges may
+ // have changed.
+ void invalidateVirtRegs() { ++UserTag; }
+
// The top-level driver. The output is a VirtRegMap that us updated with
// physical register assignments.
//