LLVM: llvm::DbgValueHistoryMap Class Reference (original) (raw)
For each user variable, keep a list of instruction ranges where this variable is accessible. More...
#include "[llvm/CodeGen/DbgEntityHistoryCalculator.h](DbgEntityHistoryCalculator%5F8h%5Fsource.html)"
| 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) |
| Entry & | getEntry (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. |
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.
◆ Entries
◆ EntriesMap
◆ EntryIndex
◆ InlinedEntity
◆ begin()
◆ clear()
| void llvm::DbgValueHistoryMap::clear ( ) | inline |
|---|
◆ dump()
◆ empty()
| bool llvm::DbgValueHistoryMap::empty ( ) const | inline |
|---|
◆ end()
◆ getEntry()
| Entry & llvm::DbgValueHistoryMap::getEntry ( InlinedEntity Var, EntryIndex Index ) | inline |
|---|
◆ hasNonEmptyLocation()
| bool DbgValueHistoryMap::hasNonEmptyLocation | ( | const Entries & | Entries | ) | const |
|---|
◆ startClobber()
◆ startDbgValue()
◆ trimLocationRanges()
Drop location ranges which exist entirely outside each variable's scope.
Definition at line 127 of file DbgEntityHistoryCalculator.cpp.
References llvm::ArrayRef(), llvm::SmallVectorImpl< T >::assign(), llvm::cast(), llvm::dbgs(), llvm::ArrayRef< T >::end(), llvm::LexicalScopes::findInlinedScope(), llvm::LexicalScopes::findLexicalScope(), llvm::MachineFunction::getName(), intersects(), llvm::DbgValueHistoryMap::Entry::isClosed(), LLVM_DEBUG, NoEntry, llvm::MachineInstr::print(), llvm::reverse(), llvm::sort(), and ToRemove.
◆ NoEntry
| const EntryIndex llvm::DbgValueHistoryMap::NoEntry = std::numeric_limits<EntryIndex>::max() | static |
|---|
The documentation for this class was generated from the following files:
- include/llvm/CodeGen/DbgEntityHistoryCalculator.h
- lib/CodeGen/AsmPrinter/DbgEntityHistoryCalculator.cpp