mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-21 02:24:22 +00:00
RABasic is nearly functionally complete. There are a few remaining
benchmarks hitting an assertion. Adds LiveIntervalUnion::collectInterferingVRegs. Fixes "late spilling" by checking for any unspillable live vregs among all physReg aliases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118701 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -183,7 +183,7 @@ public:
|
||||
|
||||
void spill(LiveInterval *li,
|
||||
SmallVectorImpl<LiveInterval*> &newIntervals,
|
||||
SmallVectorImpl<LiveInterval*> &) {
|
||||
const SmallVectorImpl<LiveInterval*> &) {
|
||||
// Ignore spillIs - we don't use it.
|
||||
trivialSpillEverywhere(li, newIntervals);
|
||||
}
|
||||
@ -213,7 +213,7 @@ public:
|
||||
/// Falls back on LiveIntervals::addIntervalsForSpills.
|
||||
void spill(LiveInterval *li,
|
||||
SmallVectorImpl<LiveInterval*> &newIntervals,
|
||||
SmallVectorImpl<LiveInterval*> &spillIs) {
|
||||
const SmallVectorImpl<LiveInterval*> &spillIs) {
|
||||
std::vector<LiveInterval*> added =
|
||||
lis->addIntervalsForSpills(*li, spillIs, loopInfo, *vrm);
|
||||
newIntervals.insert(newIntervals.end(), added.begin(), added.end());
|
||||
@ -250,7 +250,7 @@ public:
|
||||
|
||||
void spill(LiveInterval *li,
|
||||
SmallVectorImpl<LiveInterval*> &newIntervals,
|
||||
SmallVectorImpl<LiveInterval*> &spillIs) {
|
||||
const SmallVectorImpl<LiveInterval*> &spillIs) {
|
||||
if (worthTryingToSplit(li))
|
||||
tryVNISplit(li);
|
||||
else
|
||||
|
Reference in New Issue
Block a user