Go to the source code of this file.
|
| STATISTIC (NumInsertedDebugValues, "Number of DBG_VALUEs inserted") |
|
| STATISTIC (NumInsertedDebugLabels, "Number of DBG_LABELs inserted") |
|
| INITIALIZE_PASS_BEGIN (LiveDebugVariables, DEBUG_TYPE, "Debug Variable Analysis", false, false) INITIALIZE_PASS_END(LiveDebugVariables |
|
static void | printDebugLoc (const DebugLoc &DL, raw_ostream &CommentOS, const LLVMContext &Ctx) |
|
static void | printExtendedName (raw_ostream &OS, const DINode *Node, const DILocation *DL) |
|
static void | removeDebugInstrs (MachineFunction &mf) |
|
static MachineBasicBlock::iterator | findInsertLocation (MachineBasicBlock *MBB, SlotIndex Idx, LiveIntervals &LIS, BlockSkipInstsMap &BBSkipInstsMap) |
| Find an iterator for inserting a DBG_VALUE instruction. More...
|
|
static MachineBasicBlock::iterator | findNextInsertLocation (MachineBasicBlock *MBB, MachineBasicBlock::iterator I, SlotIndex StopIdx, ArrayRef< MachineOperand > LocMOs, LiveIntervals &LIS, const TargetRegisterInfo &TRI) |
| Find an iterator for inserting the next DBG_VALUE instruction (or end if no more insert locations found). More...
|
|
◆ DEBUG_TYPE
#define DEBUG_TYPE "livedebugvars" |
◆ BlockSkipInstsMap
Cache to save the location where it can be used as the starting position as input for calling MachineBasicBlock::SkipPHIsLabelsAndDebug.
This is to prevent MachineBasicBlock::SkipPHIsLabelsAndDebug from repeatedly searching the same set of PHIs/Labels/Debug instructions if it is called many times for the same block.
Definition at line 272 of file LiveDebugVariables.cpp.
◆ LocMap
◆ SpillOffsetMap
Map of stack slot offsets for spilled locations.
Non-spilled locations are not added to the map.
Definition at line 264 of file LiveDebugVariables.cpp.
◆ anonymous enum
anonymous enum : unsigned |
◆ findInsertLocation()
Find an iterator for inserting a DBG_VALUE instruction.
Definition at line 1586 of file LiveDebugVariables.cpp.
References llvm::MachineBasicBlock::begin(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::end(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::find(), llvm::SlotIndex::getBaseIndex(), llvm::MachineBasicBlock::getFirstTerminator(), llvm::LiveIntervals::getInstructionFromIndex(), llvm::LiveIntervals::getMBBStartIdx(), llvm::SlotIndex::getPrevIndex(), I, MBB, MI, and llvm::MachineBasicBlock::SkipPHIsLabelsAndDebug().
◆ findNextInsertLocation()
Find an iterator for inserting the next DBG_VALUE instruction (or end if no more insert locations found).
Definition at line 1632 of file LiveDebugVariables.cpp.
References llvm::any_of(), llvm::MachineBasicBlock::end(), llvm::LiveIntervals::getInstructionIndex(), llvm::MachineOperand::getReg(), I, llvm::MachineBasicBlock::instr_end(), llvm::SlotIndex::isEarlierEqualInstr(), llvm::LiveIntervals::isNotInMIMap(), llvm::MachineOperand::isReg(), MBB, and TRI.
◆ INITIALIZE_PASS_BEGIN()
◆ printDebugLoc()
◆ printExtendedName()
◆ removeDebugInstrs()
◆ STATISTIC() [1/2]
STATISTIC |
( |
NumInsertedDebugLabels |
, |
|
|
"Number of DBG_LABELs inserted" |
|
|
) |
| |
◆ STATISTIC() [2/2]
STATISTIC |
( |
NumInsertedDebugValues |
, |
|
|
"Number of DBG_VALUEs inserted" |
|
|
) |
| |
◆ Analysis
◆ DEBUG_TYPE
◆ EnableLDV
◆ false