| 
    LLVM 22.0.0git
    
   | 
 
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) | 
| 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.
| using llvm::DbgValueHistoryMap::Entries = SmallVector<Entry, 4> | 
Definition at line 95 of file DbgEntityHistoryCalculator.h.
Definition at line 97 of file DbgEntityHistoryCalculator.h.
| typedef size_t llvm::DbgValueHistoryMap::EntryIndex | 
Index in the entry vector.
Definition at line 49 of file DbgEntityHistoryCalculator.h.
| using llvm::DbgValueHistoryMap::InlinedEntity = std::pair<const DINode *, const DILocation *> | 
Definition at line 96 of file DbgEntityHistoryCalculator.h.
      
  | 
  inline | 
Definition at line 121 of file DbgEntityHistoryCalculator.h.
      
  | 
  inline | 
Definition at line 120 of file DbgEntityHistoryCalculator.h.
| LLVM_DUMP_METHOD void DbgValueHistoryMap::dump | ( | StringRef | FuncName | ) | const | 
Definition at line 573 of file DbgEntityHistoryCalculator.cpp.
References llvm::cast(), llvm::dbgs(), llvm::enumerate(), llvm::DbgValueHistoryMap::Entry::getEndIndex(), llvm::DbgValueHistoryMap::Entry::getInstr(), llvm::DbgValueHistoryMap::Entry::isDbgValue(), LLVM_DUMP_METHOD, and NoEntry.
      
  | 
  inline | 
Definition at line 119 of file DbgEntityHistoryCalculator.h.
      
  | 
  inline | 
Definition at line 122 of file DbgEntityHistoryCalculator.h.
      
  | 
  inline | 
Definition at line 107 of file DbgEntityHistoryCalculator.h.
Referenced by llvm::calculateDbgEntityHistory(), clobberRegEntries(), and handleNewDebugValue().
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 265 of file DbgEntityHistoryCalculator.cpp.
References assert(), llvm::DbgValueHistoryMap::Entry::getInstr(), llvm::DbgValueHistoryMap::Entry::isDbgValue(), and MI.
| EntryIndex DbgValueHistoryMap::startClobber | ( | InlinedEntity | Var, | 
| const MachineInstr & | MI ) | 
Definition at line 90 of file DbgEntityHistoryCalculator.cpp.
References llvm::DbgValueHistoryMap::Entry::Clobber, and MI.
Referenced by llvm::calculateDbgEntityHistory(), and clobberRegEntries().
| bool DbgValueHistoryMap::startDbgValue | ( | InlinedEntity | Var, | 
| const MachineInstr & | MI, | ||
| EntryIndex & | NewIndex ) | 
Definition at line 70 of file DbgEntityHistoryCalculator.cpp.
References assert(), llvm::dbgs(), llvm::DbgValueHistoryMap::Entry::DbgValue, LLVM_DEBUG, and MI.
Referenced by handleNewDebugValue().
| void DbgValueHistoryMap::trimLocationRanges | ( | const MachineFunction & | MF, | 
| LexicalScopes & | LScopes, | ||
| const InstructionOrdering & | Ordering ) | 
Drop location ranges which exist entirely outside each variable's scope.
Definition at line 128 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.
      
  | 
  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().