LLVM: LiveDebugValues::InstrRefBasedLDV Class Reference (original) (raw)

#include "[CodeGen/LiveDebugValues/InstrRefBasedImpl.h](InstrRefBasedImpl%5F8h%5Fsource.html)"

Public Types
using FragmentInfo = DIExpression::FragmentInfo
using OptFragmentInfo = std::optional<DIExpression::FragmentInfo>
using VarToFragments
using MLocTransferMap = SmallDenseMap<LocIdx, ValueIDNum>
Machine location/value transfer function, a mapping of which locations are assigned which new values.
using LiveIdxT = SmallDenseMap<const MachineBasicBlock *, DbgValue *, 16>
Live in/out structure for the variable values: a per-block map of variables to their values.
using VarAndLoc = std::pair<DebugVariableID, DbgValue>
using InValueT = std::pair<MachineBasicBlock *, DbgValue *>
Type for a live-in value: the predecessor block, and its value.
using LiveInsT = SmallVector<SmallVector<VarAndLoc, 8>, 8>
Vector (per block) of a collection (inner smallvector) of live-ins.
using ScopeToDILocT = DenseMap<const LexicalScope *, const DILocation *>
Mapping from lexical scopes to a DILocation in that scope.
using ScopeToVarsT
Mapping from lexical scopes to variables in that scope.
using ScopeToAssignBlocksT = DenseMap<const LexicalScope *, SmallPtrSet<MachineBasicBlock *, 4>>
Mapping from lexical scopes to blocks where variables in that scope are assigned.
Public Member Functions
LLVM_ABI_FOR_TEST InstrRefBasedLDV ()
Default construct and initialize the pass.
LLVM_DUMP_METHOD void dump_mloc_transfer (const MLocTransferMap &mloc_transfer) const
bool isCalleeSaved (LocIdx L) const
bool isCalleeSavedReg (Register R) const
bool hasFoldedStackStore (const MachineInstr &MI)
std::optional< LocIdx > findLocationForMemOperand (const MachineInstr &MI)
DebugVariableMap & getDVMap ()
Friends
class ::InstrRefLDVTest

Definition at line 1116 of file InstrRefBasedImpl.h.

FragmentInfo

InValueT

LiveIdxT

Live in/out structure for the variable values: a per-block map of variables to their values.

Definition at line 1134 of file InstrRefBasedImpl.h.

LiveInsT

Vector (per block) of a collection (inner smallvector) of live-ins.

Used as the result type for the variable value dataflow problem.

Definition at line 1143 of file InstrRefBasedImpl.h.

MLocTransferMap

Machine location/value transfer function, a mapping of which locations are assigned which new values.

Definition at line 1130 of file InstrRefBasedImpl.h.

OptFragmentInfo

ScopeToAssignBlocksT

Mapping from lexical scopes to blocks where variables in that scope are assigned.

Such blocks aren't necessarily "in" the lexical scope, it's just a block where an assignment happens.

Definition at line 1155 of file InstrRefBasedImpl.h.

ScopeToDILocT

ScopeToVarsT

Initial value:

Mapping from lexical scopes to variables in that scope.

Definition at line 1149 of file InstrRefBasedImpl.h.

VarAndLoc

VarToFragments

InstrRefBasedLDV::InstrRefBasedLDV ( ) default

dump_mloc_transfer()

void InstrRefBasedLDV::dump_mloc_transfer ( const MLocTransferMap & mloc_transfer ) const

findLocationForMemOperand()

getDVMap()

hasFoldedStackStore()

isCalleeSaved()

bool InstrRefBasedLDV::isCalleeSaved ( LocIdx L ) const

isCalleeSavedReg()

::InstrRefLDVTest

friend class ::InstrRefLDVTest friend

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