mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-13 22:24:07 +00:00
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
This commit is contained in:
@ -32,6 +32,7 @@ STATISTIC(NumFinished, "Number of splits finished");
|
||||
STATISTIC(NumSimple, "Number of splits that were simple");
|
||||
STATISTIC(NumCopies, "Number of copies inserted for splitting");
|
||||
STATISTIC(NumRemats, "Number of rematerialized defs for splitting");
|
||||
STATISTIC(NumRepairs, "Number of invalid live ranges repaired");
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// Split Analysis
|
||||
@ -123,6 +124,7 @@ void SplitAnalysis::analyzeUses() {
|
||||
// FIXME: calcLiveBlockInfo found inconsistencies in the live range.
|
||||
// I am looking at you, SimpleRegisterCoalescing!
|
||||
DidRepairRange = true;
|
||||
++NumRepairs;
|
||||
DEBUG(dbgs() << "*** Fixing inconsistent live interval! ***\n");
|
||||
const_cast<LiveIntervals&>(LIS)
|
||||
.shrinkToUses(const_cast<LiveInterval*>(CurLI));
|
||||
|
Reference in New Issue
Block a user