LLVM 22.0.0git
llvm::DbgValueHistoryMap Class Reference

For each user variable, keep a list of instruction ranges where this variable is accessible. More...

#include "llvm/CodeGen/DbgEntityHistoryCalculator.h"

Classes

class  Entry
 Specifies a change in a variable's debug value history. More...

Public Types

typedef size_t EntryIndex
 Index in the entry vector.
using Entries = SmallVector<Entry, 4>
using InlinedEntity = std::pair<const DINode *, const DILocation *>
using EntriesMap = MapVector<InlinedEntity, Entries>

Public Member Functions

bool startDbgValue (InlinedEntity Var, const MachineInstr &MI, EntryIndex &NewIndex)
EntryIndex startClobber (InlinedEntity Var, const MachineInstr &MI)
EntrygetEntry (InlinedEntity Var, EntryIndex Index)
bool hasNonEmptyLocation (const Entries &Entries) const
 Test whether a vector of entries features any non-empty locations.
void trimLocationRanges (const MachineFunction &MF, LexicalScopes &LScopes, const InstructionOrdering &Ordering)
 Drop location ranges which exist entirely outside each variable's scope.
bool empty () const
void clear ()
EntriesMap::const_iterator begin () const
EntriesMap::const_iterator end () const
LLVM_DUMP_METHOD void dump (StringRef FuncName) const

Static Public Attributes

static const EntryIndex NoEntry = std::numeric_limits<EntryIndex>::max()
 Special value to indicate that an entry is valid until the end of the function.

Detailed Description

For each user variable, keep a list of instruction ranges where this variable is accessible.

The variables are listed in order of appearance.

Definition at line 46 of file DbgEntityHistoryCalculator.h.

Member Typedef Documentation

◆ Entries

◆ EntriesMap

◆ EntryIndex

Index in the entry vector.

Definition at line 49 of file DbgEntityHistoryCalculator.h.

◆ InlinedEntity

Member Function Documentation

◆ begin()

EntriesMap::const_iterator llvm::DbgValueHistoryMap::begin ( ) const
inline

Definition at line 121 of file DbgEntityHistoryCalculator.h.

◆ clear()

void llvm::DbgValueHistoryMap::clear ( )
inline

Definition at line 120 of file DbgEntityHistoryCalculator.h.

◆ dump()

◆ empty()

bool llvm::DbgValueHistoryMap::empty ( ) const
inline

Definition at line 119 of file DbgEntityHistoryCalculator.h.

◆ end()

EntriesMap::const_iterator llvm::DbgValueHistoryMap::end ( ) const
inline

Definition at line 122 of file DbgEntityHistoryCalculator.h.

◆ getEntry()

Entry & llvm::DbgValueHistoryMap::getEntry ( InlinedEntity Var,
EntryIndex Index )
inline

◆ hasNonEmptyLocation()

bool DbgValueHistoryMap::hasNonEmptyLocation ( const Entries & Entries) const

Test whether a vector of entries features any non-empty locations.

It could have no entries, or only DBG_VALUE $noreg entries.

Definition at line 266 of file DbgEntityHistoryCalculator.cpp.

References assert(), llvm::DbgValueHistoryMap::Entry::getInstr(), llvm::DbgValueHistoryMap::Entry::isDbgValue(), and MI.

◆ startClobber()

EntryIndex DbgValueHistoryMap::startClobber ( InlinedEntity Var,
const MachineInstr & MI )

◆ startDbgValue()

bool DbgValueHistoryMap::startDbgValue ( InlinedEntity Var,
const MachineInstr & MI,
EntryIndex & NewIndex )

◆ trimLocationRanges()

Member Data Documentation

◆ NoEntry

const EntryIndex llvm::DbgValueHistoryMap::NoEntry = std::numeric_limits<EntryIndex>::max()
static

Special value to indicate that an entry is valid until the end of the function.

Definition at line 53 of file DbgEntityHistoryCalculator.h.

Referenced by dump(), llvm::DbgValueHistoryMap::Entry::Entry(), llvm::DbgValueHistoryMap::Entry::isClosed(), and trimLocationRanges().


The documentation for this class was generated from the following files: