mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-12 13:38:21 +00:00
Added register reassignment prototype to RAGreedy. It's a simple
heuristic to reshuffle register assignments when we can't find an available reg. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121388 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -247,10 +247,13 @@ collectInterferingVRegs(unsigned MaxInterferingRegs) {
|
||||
if (!IR.LiveUnionI.value()->isSpillable())
|
||||
SeenUnspillableVReg = true;
|
||||
|
||||
InterferingVRegs.push_back(IR.LiveUnionI.value());
|
||||
if (InterferingVRegs.size() == MaxInterferingRegs)
|
||||
// Leave SeenAllInterferences set to false to indicate that at least one
|
||||
// interference exists beyond those we collected.
|
||||
return MaxInterferingRegs;
|
||||
|
||||
InterferingVRegs.push_back(IR.LiveUnionI.value());
|
||||
|
||||
// Cache the most recent interfering vreg to bypass isSeenInterference.
|
||||
RecentInterferingVReg = IR.LiveUnionI.value();
|
||||
++IR.LiveUnionI;
|
||||
|
Reference in New Issue
Block a user