mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-18 10:31:57 +00:00
81a0382181
When a live interval is being spilled, rather than creating short, non-spillable intervals for every def / use, split the interval at BB boundaries. That is, for every BB where the live interval is defined or used, create a new interval that covers all the defs and uses in the BB. This is designed to eliminate one common problem: multiple reloads of the same value in a single basic block. Note, it does *not* decrease the number of spills since no copies are inserted so the split intervals are *connected* through spill and reloads (or rematerialization). The newly created intervals can be spilled again, in that case, since it does not span multiple basic blocks, it's spilled in the usual manner. However, it can reuse the same stack slot as the previously split interval. This is currently controlled by -split-intervals-at-bb. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44198 91177308-0d34-0410-b5e6-96231b3b80d8 |
||
---|---|---|
.. | ||
AsmPrinter.h | ||
BreakCriticalMachineEdge.h | ||
CallingConvLower.h | ||
Collector.h | ||
CollectorMetadata.h | ||
Collectors.h | ||
DwarfWriter.h | ||
ELFRelocation.h | ||
FileWriters.h | ||
IntrinsicLowering.h | ||
LinkAllCodegenComponents.h | ||
LiveInterval.h | ||
LiveIntervalAnalysis.h | ||
LiveVariables.h | ||
MachineBasicBlock.h | ||
MachineCodeEmitter.h | ||
MachineConstantPool.h | ||
MachineDominators.h | ||
MachineFrameInfo.h | ||
MachineFunction.h | ||
MachineFunctionPass.h | ||
MachineInstr.h | ||
MachineInstrBuilder.h | ||
MachineJumpTableInfo.h | ||
MachineLocation.h | ||
MachineModuleInfo.h | ||
MachinePassRegistry.h | ||
MachineRelocation.h | ||
MachORelocation.h | ||
Passes.h | ||
RegAllocRegistry.h | ||
RegisterCoalescer.h | ||
RegisterScavenging.h | ||
RuntimeLibcalls.h | ||
SchedGraphCommon.h | ||
ScheduleDAG.h | ||
SchedulerRegistry.h | ||
SelectionDAG.h | ||
SelectionDAGISel.h | ||
SelectionDAGNodes.h | ||
SSARegMap.h | ||
ValueTypes.h | ||
ValueTypes.td |