mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-20 10:24:12 +00:00
Removed VNInfo::isDefAccurate(). Def "accuracy" can be checked by testing whether LiveIntervals::getInstructionFromIndex(def) returns NULL.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114791 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -431,8 +431,7 @@ unsigned RALinScan::attemptTrivialCoalescing(LiveInterval &cur, unsigned Reg) {
|
||||
unsigned CandReg;
|
||||
{
|
||||
MachineInstr *CopyMI;
|
||||
if (vni->def != SlotIndex() && vni->isDefAccurate() &&
|
||||
(CopyMI = li_->getInstructionFromIndex(vni->def)) && CopyMI->isCopy())
|
||||
if ((CopyMI = li_->getInstructionFromIndex(vni->def)) && CopyMI->isCopy())
|
||||
// Defined by a copy, try to extend SrcReg forward
|
||||
CandReg = CopyMI->getOperand(1).getReg();
|
||||
else if (TrivCoalesceEnds &&
|
||||
@ -800,7 +799,7 @@ static void addStackInterval(LiveInterval *cur, LiveStacks *ls_,
|
||||
if (SI.hasAtLeastOneValue())
|
||||
VNI = SI.getValNumInfo(0);
|
||||
else
|
||||
VNI = SI.getNextValue(SlotIndex(), 0, false,
|
||||
VNI = SI.getNextValue(SlotIndex(), 0,
|
||||
ls_->getVNInfoAllocator());
|
||||
|
||||
LiveInterval &RI = li_->getInterval(cur->reg);
|
||||
@ -984,8 +983,7 @@ void RALinScan::assignRegOrStackSlotAtInterval(LiveInterval* cur) {
|
||||
// one, e.g. X86::mov32to32_. These move instructions are not coalescable.
|
||||
if (!vrm_->getRegAllocPref(cur->reg) && cur->hasAtLeastOneValue()) {
|
||||
VNInfo *vni = cur->begin()->valno;
|
||||
if ((vni->def != SlotIndex()) && !vni->isUnused() &&
|
||||
vni->isDefAccurate()) {
|
||||
if (!vni->isUnused()) {
|
||||
MachineInstr *CopyMI = li_->getInstructionFromIndex(vni->def);
|
||||
if (CopyMI && CopyMI->isCopy()) {
|
||||
unsigned DstSubReg = CopyMI->getOperand(0).getSubReg();
|
||||
|
Reference in New Issue
Block a user