LLVM: lib/CodeGen/SplitKit.cpp File Reference (original) (raw)

Go to the source code of this file.

Macros
#define DEBUG_TYPE "regalloc"
Functions
STATISTIC (NumFinished, "Number of splits finished")
STATISTIC (NumSimple, "Number of splits that were simple")
STATISTIC (NumCopies, "Number of copies inserted for splitting")
STATISTIC (NumRemats, "Number of rematerialized defs for splitting")
template<typename T>
auto & getSubrangeImpl (LaneBitmask LM, T &LI)
Find a subrange corresponding to the exact lane mask LM in the live interval LI.
LiveInterval::SubRange & getSubRangeForMaskExact (LaneBitmask LM, LiveInterval &LI)
const LiveInterval::SubRange & getSubRangeForMaskExact (LaneBitmask LM, const LiveInterval &LI)
const LiveInterval::SubRange & getSubRangeForMask (LaneBitmask LM, const LiveInterval &LI)
Find a subrange corresponding to the lane mask LM, or a superset of it, in the live interval LI.
static bool hasTiedUseOf (MachineInstr &MI, Register Reg)
static bool removeDeadSegment (SlotIndex Def, LiveRange &LR)
Variables
static cl::opt< bool > EnableLoopIVHeuristic ("enable-split-loopiv-heuristic", cl::desc("Enable loop iv regalloc heuristic"), cl::init(true))

DEBUG_TYPE

#define DEBUG_TYPE "regalloc"

getSubRangeForMask()

Find a subrange corresponding to the lane mask LM, or a superset of it, in the live interval LI.

The interval LI is assumed to contain such a subrange. This function is used to find corresponding subranges between the original interval and the new intervals.

Definition at line 419 of file SplitKit.cpp.

References llvm_unreachable, and llvm::LiveInterval::subranges().

getSubRangeForMaskExact() [1/2]

getSubRangeForMaskExact() [2/2]

getSubrangeImpl()

hasTiedUseOf()

removeDeadSegment()

STATISTIC() [1/4]

STATISTIC ( NumCopies ,
"Number of copies inserted for splitting" )

STATISTIC() [2/4]

STATISTIC ( NumFinished ,
"Number of splits finished" )

STATISTIC() [3/4]

STATISTIC ( NumRemats ,
"Number of rematerialized defs for splitting" )

STATISTIC() [4/4]

STATISTIC ( NumSimple ,
"Number of splits that were simple" )

EnableLoopIVHeuristic

cl::opt< bool > EnableLoopIVHeuristic("enable-split-loopiv-heuristic", cl::desc("Enable loop iv regalloc heuristic"), cl::init(true)) ( "enable-split-loopiv-heuristic" , cl::desc("Enable loop iv regalloc heuristic") , cl::init(true) ) static