LLVM 20.0.0git
|
Data structure describing the variable locations in a function. More...
#include "llvm/CodeGen/AssignmentTrackingAnalysis.h"
Public Member Functions | |
DILocalVariable * | getDILocalVariable (const VarLocInfo *Loc) const |
Return the DILocalVariable for the location definition represented by ID . | |
DILocalVariable * | getDILocalVariable (VariableID ID) const |
Return the DILocalVariable of the variable represented by ID . | |
const DebugVariable & | getVariable (VariableID ID) const |
Return the DebugVariable represented by ID . | |
void | print (raw_ostream &OS, const Function &Fn) const |
iterators | |
First single-location variable location definition. | |
const VarLocInfo * | single_locs_begin () const |
const VarLocInfo * | single_locs_end () const |
One past the last single-location variable location definition. | |
const VarLocInfo * | locs_begin (const Instruction *Before) const |
First variable location definition that comes before Before . | |
const VarLocInfo * | locs_end (const Instruction *Before) const |
One past the last variable location definition that comes before Before . | |
void | init (FunctionVarLocsBuilder &Builder) |
void | clear () |
Data structure describing the variable locations in a function.
Used as the result of the AssignmentTrackingAnalysis pass. Essentially read-only outside of AssignmentTrackingAnalysis where it is built.
Definition at line 38 of file AssignmentTrackingAnalysis.h.
void FunctionVarLocs::clear | ( | ) |
Definition at line 255 of file AssignmentTrackingAnalysis.cpp.
References llvm::SmallVectorImpl< T >::clear().
|
inline |
Return the DILocalVariable for the location definition represented by ID
.
Definition at line 55 of file AssignmentTrackingAnalysis.h.
References getDILocalVariable(), and llvm::VarLocInfo::VariableID.
Referenced by getDILocalVariable(), and processSingleLocVars().
|
inline |
Return the DILocalVariable of the variable represented by ID
.
Definition at line 60 of file AssignmentTrackingAnalysis.h.
References llvm::DebugVariable::getVariable(), and getVariable().
|
inline |
Return the DebugVariable represented by ID
.
Definition at line 64 of file AssignmentTrackingAnalysis.h.
Referenced by getDILocalVariable().
void FunctionVarLocs::init | ( | FunctionVarLocsBuilder & | Builder | ) |
Non-const methods used by AssignmentTrackingAnalysis (which invalidate analysis results if called incorrectly).
Definition at line 209 of file AssignmentTrackingAnalysis.cpp.
References assert(), llvm::UniqueVector< T >::begin(), llvm::SmallVectorImpl< T >::emplace_back(), llvm::UniqueVector< T >::end(), llvm::filterDbgVars(), I, P, llvm::SmallVectorBase< Size_T >::size(), and llvm::UniqueVector< T >::size().
|
inline |
First variable location definition that comes before Before
.
Definition at line 79 of file AssignmentTrackingAnalysis.h.
References Before, llvm::SmallVectorTemplateCommon< T, typename >::begin(), and llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::lookup().
Referenced by print().
|
inline |
One past the last variable location definition that comes before Before
.
Definition at line 87 of file AssignmentTrackingAnalysis.h.
References Before, llvm::SmallVectorTemplateCommon< T, typename >::begin(), and llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::lookup().
Referenced by print().
void FunctionVarLocs::print | ( | raw_ostream & | OS, |
const Function & | Fn | ||
) | const |
Definition at line 160 of file AssignmentTrackingAnalysis.cpp.
References End, llvm::errs(), F, for(), I, locs_begin(), locs_end(), OS, single_locs_begin(), and single_locs_end().
|
inline |
Definition at line 71 of file AssignmentTrackingAnalysis.h.
References llvm::SmallVectorTemplateCommon< T, typename >::begin().
Referenced by print(), and processSingleLocVars().
|
inline |
One past the last single-location variable location definition.
Definition at line 73 of file AssignmentTrackingAnalysis.h.
References llvm::SmallVectorTemplateCommon< T, typename >::begin().
Referenced by print(), and processSingleLocVars().