9#ifndef LLVM_CODEGEN_SPILLER_H
10#define LLVM_CODEGEN_SPILLER_H
19class MachineFunctionPass;
24class MachineDominatorTree;
25class MachineBlockFrequencyInfo;
32 virtual void anchor();
ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory),...
MachineBlockFrequencyInfo pass uses BlockFrequencyInfoImpl implementation to estimate machine basic b...
DominatorTree Class - Concrete subclass of DominatorTreeBase that is used to compute a normal dominat...
virtual void spill(LiveRangeEdit &LRE)=0
spill - Spill the LRE.getParent() live interval.
virtual ArrayRef< Register > getReplacedRegs()=0
Return registers that were not spilled, but otherwise replaced (e.g.
virtual ArrayRef< Register > getSpilledRegs()=0
Return the registers that were spilled.
virtual void postOptimization()
Calculate auxiliary information for a virtual register such as its spill weight and allocation hint.
This is an optimization pass for GlobalISel generic memory operations.
Spiller * createInlineSpiller(const Spiller::RequiredAnalyses &Analyses, MachineFunction &MF, VirtRegMap &VRM, VirtRegAuxInfo &VRAI)
Create and return a spiller that will insert spill code directly instead of deferring though VirtRegM...
const MachineBlockFrequencyInfo & MBFI
MachineDominatorTree & MDT