LLVM 20.0.0git
Classes | Namespaces | Macros | Typedefs
InstrRefBasedImpl.h File Reference
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/IndexedMap.h"
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/UniqueVector.h"
#include "llvm/CodeGen/LexicalScopes.h"
#include "llvm/CodeGen/MachineBasicBlock.h"
#include "llvm/CodeGen/MachineInstr.h"
#include "llvm/CodeGen/TargetRegisterInfo.h"
#include "llvm/IR/DebugInfoMetadata.h"
#include <optional>
#include "LiveDebugValues.h"

Go to the source code of this file.

Classes

class  LiveDebugValues::DebugVariableMap
 Mapping from DebugVariable to/from a unique identifying number. More...
 
class  LiveDebugValues::LocIdx
 Handle-class for a particular "location". More...
 
struct  LiveDebugValues::SpillLoc
 
class  LiveDebugValues::ValueIDNum
 Unique identifier for a value defined by an instruction, as a value type. More...
 
struct  llvm::DenseMapInfo< LocIdx >
 
struct  llvm::DenseMapInfo< ValueIDNum >
 
struct  LiveDebugValues::FuncValueTable
 A collection of ValueTables, one per BB in a function, with convenient accessor methods. More...
 
class  LiveDebugValues::SpillLocationNo
 Thin wrapper around an integer – designed to give more type safety to spill location numbers. More...
 
class  LiveDebugValues::DbgValueProperties
 Meta qualifiers for a value. More...
 
struct  LiveDebugValues::DbgOp
 TODO: Might pack better if we changed this to a Struct of Arrays, since MachineOperand is width 32, making this struct width 33. More...
 
struct  LiveDebugValues::ResolvedDbgOp
 A DbgOp whose ID (if any) has resolved to an actual location, LocIdx. More...
 
struct  LiveDebugValues::DbgOpID
 An ID used in the DbgOpIDMap (below) to lookup a stored DbgOp. More...
 
struct  LiveDebugValues::DbgOpID::IsConstIndexPair
 
class  LiveDebugValues::DbgOpIDMap
 Class storing the complete set of values that are observed by DbgValues within the current function. More...
 
class  LiveDebugValues::DbgValue
 Class recording the (high level) value of a variable. More...
 
class  LiveDebugValues::LocIdxToIndexFunctor
 
class  LiveDebugValues::MLocTracker
 Tracker for what values are in machine locations. More...
 
class  LiveDebugValues::MLocTracker::MLocIterator
 Iterator for locations and the values they contain. More...
 
class  LiveDebugValues::MLocTracker::MLocIterator::value_type
 
class  LiveDebugValues::VLocTracker
 Collection of DBG_VALUEs observed when traversing a block. More...
 
class  LiveDebugValues::InstrRefBasedLDV
 

Namespaces

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

Macros

#define NUM_LOC_BITS   24
 
#define MAX_DBG_OPS   8
 
#define DEBUG_TYPE   "LiveDebugValues"
 

Typedefs

using LiveDebugValues::DebugVariableID = unsigned
 
using LiveDebugValues::VarAndLoc = std::pair< DebugVariable, const DILocation * >
 
using LiveDebugValues::ValueTable = SmallVector< ValueIDNum, 0 >
 Type for a table of values in a block.
 
using LiveDebugValues::FragmentOfVar = std::pair< const DILocalVariable *, DIExpression::FragmentInfo >
 Types for recording sets of variable fragments that overlap.
 
using LiveDebugValues::OverlapMap = DenseMap< FragmentOfVar, SmallVector< DIExpression::FragmentInfo, 1 > >
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "LiveDebugValues"

◆ MAX_DBG_OPS

#define MAX_DBG_OPS   8

Definition at line 509 of file InstrRefBasedImpl.h.

◆ NUM_LOC_BITS

#define NUM_LOC_BITS   24

Definition at line 89 of file InstrRefBasedImpl.h.