mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-15 04:30:12 +00:00
When rewriting defs and uses after spilling, don't set the weight of a
live interval to infinity if the instruction being rewritten is an original remat def instruction. We were only checking against the clone of the remat def which doesn't actually appear in the IR at all. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51440 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
cff860801e
commit
abe93d95e8
@ -1150,7 +1150,9 @@ rewriteInstructionsForSpills(const LiveInterval &li, bool TrySplit,
|
|||||||
}
|
}
|
||||||
MachineBasicBlock *MBB = MI->getParent();
|
MachineBasicBlock *MBB = MI->getParent();
|
||||||
|
|
||||||
if (ImpUse && MI != ReMatDefMI) {
|
// ReMatDefMI is a clone and not in the IR at all, so check
|
||||||
|
// RefMatOrigDefMI too.
|
||||||
|
if (ImpUse && MI != ReMatDefMI && MI != ReMatOrigDefMI) {
|
||||||
// Re-matting an instruction with virtual register use. Update the
|
// Re-matting an instruction with virtual register use. Update the
|
||||||
// register interval's spill weight to HUGE_VALF to prevent it from
|
// register interval's spill weight to HUGE_VALF to prevent it from
|
||||||
// being spilled.
|
// being spilled.
|
||||||
|
Loading…
Reference in New Issue
Block a user