27 #ifndef LLVM_CODEGEN_SPILLPLACEMENT_H
28 #define LLVM_CODEGEN_SPILLPLACEMENT_H
39 class MachineBasicBlock;
40 class MachineLoopInfo;
144 return BlockFrequencies[Number];
150 virtual void releaseMemory();
152 void activate(
unsigned);
BlockFrequency getBlockFrequency(unsigned Number) const
A register is impossible, variable must be spilled.
void addPrefSpill(ArrayRef< unsigned > Blocks, bool Strong)
addPrefSpill - Same as addConstraints(PrefSpill)
ArrayRef< unsigned > getRecentPositive()
BorderConstraint Exit
Constraint on block exit.
BlockConstraint - Entry and exit constraints for a basic block.
void addLinks(ArrayRef< unsigned > Links)
addLinks - Add transparent blocks with the given numbers.
Block doesn't care / variable not live.
unsigned Number
Basic block number (from MBB::getNumber()).
BorderConstraint Entry
Constraint on block entry.
Block entry/exit prefers a register.
void addConstraints(ArrayRef< BlockConstraint > LiveBlocks)
Block entry/exit prefers a stack slot.
Block entry prefers both register and stack.
void prepare(BitVector &RegBundles)