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:
- lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.h
- lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp