LLVM 22.0.0git
LiveIntervals.cpp File Reference

Go to the source code of this file.

Classes

class  llvm::LiveIntervals::HMEditor
 Toolkit used by handleMove to trim or extend live intervals. More...

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.

Macros

#define DEBUG_TYPE   "regalloc"

Functions

 INITIALIZE_PASS_BEGIN (LiveIntervalsWrapperPass, "liveintervals", "Live Interval Analysis", false, false) INITIALIZE_PASS_END(LiveIntervalsWrapperPass
cl::opt< boolllvm::UseSegmentSetForPhysRegs ("use-segment-set-for-physregs", cl::Hidden, cl::init(true), cl::desc("Use segment set for the computation of the live ranges of physregs."))
static void createSegmentsForValues (LiveRange &LR, iterator_range< LiveInterval::vni_iterator > VNIs)
static bool hasLiveThroughUse (const MachineInstr *MI, Register Reg)
 Check whether use of reg in MI is live-through.

Variables

 liveintervals
Live Interval Analysis
Live Interval false
static cl::opt< boolEnablePrecomputePhysRegs ("precompute-phys-liveness", cl::Hidden, cl::desc("Eagerly compute live intervals for all physreg units."))

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "regalloc"

Definition at line 60 of file LiveIntervals.cpp.

Function Documentation

◆ createSegmentsForValues()

void createSegmentsForValues ( LiveRange & LR,
iterator_range< LiveInterval::vni_iterator > VNIs )
static

◆ hasLiveThroughUse()

bool hasLiveThroughUse ( const MachineInstr * MI,
Register Reg )
static

Check whether use of reg in MI is live-through.

Live-through means that the value is alive on exit from Machine instruction. The example of such use is a deopt value in statepoint instruction.

Definition at line 940 of file LiveIntervals.cpp.

References llvm::DeoptLiveIn, E(), llvm::StatepointOpers::getFlags(), llvm::StatepointOpers::getNumDeoptArgsIdx(), llvm::StatepointOpers::getNumGCPtrIdx(), llvm::MachineOperand::getReg(), llvm::MachineOperand::isReg(), MI, and Reg.

Referenced by llvm::LiveIntervals::checkRegMaskInterference().

◆ INITIALIZE_PASS_BEGIN()

INITIALIZE_PASS_BEGIN ( LiveIntervalsWrapperPass ,
"liveintervals" ,
"Live Interval Analysis" ,
false ,
false  )

Variable Documentation

◆ Analysis

Live Interval Analysis

Definition at line 86 of file LiveIntervals.cpp.

◆ EnablePrecomputePhysRegs

cl::opt< bool > EnablePrecomputePhysRegs("precompute-phys-liveness", cl::Hidden, cl::desc("Eagerly compute live intervals for all physreg units.")) ( "precompute-phys-liveness" ,
cl::Hidden ,
cl::desc("Eagerly compute live intervals for all physreg units.")  )
static

◆ false

Live Interval false

Definition at line 86 of file LiveIntervals.cpp.

◆ liveintervals

liveintervals

Definition at line 85 of file LiveIntervals.cpp.