LLVM 20.0.0git
|
Helper class to build FunctionVarLocs, since that class isn't easy to modify. More...
Public Member Functions | |
unsigned | getNumVariables () const |
VariableID | insertVariable (DebugVariable V) |
Find or insert V and return the ID. | |
const DebugVariable & | getVariable (VariableID ID) const |
Get a variable from its ID . | |
const SmallVectorImpl< VarLocInfo > * | getWedge (VarLocInsertPt Before) const |
Return ptr to wedge of defs or nullptr if no defs come just before /p Before. | |
void | setWedge (VarLocInsertPt Before, SmallVector< VarLocInfo > &&Wedge) |
Replace the defs that come just before /p Before with /p Wedge. | |
void | addSingleLocVar (DebugVariable Var, DIExpression *Expr, DebugLoc DL, RawLocationWrapper R) |
Add a def for a variable that is valid for its lifetime. | |
void | addVarLoc (VarLocInsertPt Before, DebugVariable Var, DIExpression *Expr, DebugLoc DL, RawLocationWrapper R) |
Add a def to the wedge of defs just before /p Before. | |
Helper class to build FunctionVarLocs, since that class isn't easy to modify.
TODO: There's not a great deal of value in the split, it could be worth merging the two classes.
Definition at line 101 of file AssignmentTrackingAnalysis.cpp.
|
inline |
Add a def for a variable that is valid for its lifetime.
Definition at line 138 of file AssignmentTrackingAnalysis.cpp.
References llvm::VarLocInfo::DL, DL, llvm::SmallVectorImpl< T >::emplace_back(), llvm::VarLocInfo::Expr, insertVariable(), llvm::VarLocInfo::Values, and llvm::VarLocInfo::VariableID.
Referenced by buildOverlapMapAndRecordDeclares().
|
inline |
Add a def to the wedge of defs just before /p Before.
Definition at line 149 of file AssignmentTrackingAnalysis.cpp.
References Before, llvm::VarLocInfo::DL, DL, llvm::VarLocInfo::Expr, insertVariable(), llvm::VarLocInfo::Values, and llvm::VarLocInfo::VariableID.
|
inline |
Definition at line 111 of file AssignmentTrackingAnalysis.cpp.
References llvm::UniqueVector< T >::size().
Referenced by buildOverlapMapAndRecordDeclares().
|
inline |
Get a variable from its ID
.
Definition at line 119 of file AssignmentTrackingAnalysis.cpp.
Referenced by removeRedundantDbgLocsUsingBackwardScan(), removeRedundantDbgLocsUsingForwardScan(), and removeUndefDbgLocsFromEntryBlock().
|
inline |
Return ptr to wedge of defs or nullptr if no defs come just before /p Before.
Definition at line 125 of file AssignmentTrackingAnalysis.cpp.
References Before.
Referenced by removeRedundantDbgLocsUsingBackwardScan(), removeRedundantDbgLocsUsingForwardScan(), and removeUndefDbgLocsFromEntryBlock().
|
inline |
Find or insert V
and return the ID.
Definition at line 114 of file AssignmentTrackingAnalysis.cpp.
References llvm::UniqueVector< T >::insert().
Referenced by addSingleLocVar(), addVarLoc(), and buildOverlapMapAndRecordDeclares().
|
inline |
Replace the defs that come just before /p Before with /p Wedge.
Definition at line 133 of file AssignmentTrackingAnalysis.cpp.
References Before.
Referenced by removeRedundantDbgLocsUsingBackwardScan(), removeRedundantDbgLocsUsingForwardScan(), and removeUndefDbgLocsFromEntryBlock().