LLVM 20.0.0git
|
Information describing a function or inlined call site introduced by .cv_func_id or .cv_inline_site_id. More...
#include "llvm/MC/MCCodeView.h"
Classes | |
struct | LineInfo |
Public Types | |
enum | : unsigned { FunctionSentinel = ~0U } |
Public Member Functions | |
bool | isUnallocatedFunctionInfo () const |
Returns true if this is function info has not yet been used in a .cv_func_id or .cv_inline_site_id directive. | |
bool | isInlinedCallSite () const |
Returns true if this represents an inlined call site, meaning ParentFuncIdPlusOne is neither zero nor ~0U. | |
unsigned | getParentFuncId () const |
Public Attributes | |
unsigned | ParentFuncIdPlusOne = 0 |
If this represents an inlined call site, then ParentFuncIdPlusOne will be the parent function id plus one. | |
LineInfo | InlinedAt |
MCSection * | Section = nullptr |
The section of the first .cv_loc directive used for this function, or null if none has been seen yet. | |
DenseMap< unsigned, LineInfo > | InlinedAtMap |
Map from inlined call site id to the inlined at location to use for that call site. | |
Information describing a function or inlined call site introduced by .cv_func_id or .cv_inline_site_id.
Accumulates information from .cv_loc directives used with this function's id or the id of an inlined call site within this function or inlined call site.
Definition at line 98 of file MCCodeView.h.
anonymous enum : unsigned |
Enumerator | |
---|---|
FunctionSentinel |
Definition at line 106 of file MCCodeView.h.
|
inline |
Definition at line 137 of file MCCodeView.h.
References assert(), isInlinedCallSite(), and ParentFuncIdPlusOne.
|
inline |
Returns true if this represents an inlined call site, meaning ParentFuncIdPlusOne is neither zero nor ~0U.
Definition at line 132 of file MCCodeView.h.
References FunctionSentinel, isUnallocatedFunctionInfo(), and ParentFuncIdPlusOne.
Referenced by getParentFuncId().
|
inline |
Returns true if this is function info has not yet been used in a .cv_func_id or .cv_inline_site_id directive.
Definition at line 128 of file MCCodeView.h.
References ParentFuncIdPlusOne.
Referenced by isInlinedCallSite().
LineInfo llvm::MCCVFunctionInfo::InlinedAt |
Definition at line 114 of file MCCodeView.h.
Map from inlined call site id to the inlined at location to use for that call site.
Call chains are collapsed, so for the call chain 'f -> g -> h', the InlinedAtMap of 'f' will contain entries for 'g' and 'h' that both list the line info for the 'g' call site.
Definition at line 124 of file MCCodeView.h.
Referenced by llvm::CodeViewContext::encodeInlineLineTable(), llvm::CodeViewContext::getFunctionLineEntries(), and llvm::CodeViewContext::getLineExtentIncludingInlinees().
unsigned llvm::MCCVFunctionInfo::ParentFuncIdPlusOne = 0 |
If this represents an inlined call site, then ParentFuncIdPlusOne will be the parent function id plus one.
If this represents a normal function, then there is no parent, and ParentFuncIdPlusOne will be FunctionSentinel. If this struct is an unallocated slot in the function info vector, then ParentFuncIdPlusOne will be zero.
Definition at line 104 of file MCCodeView.h.
Referenced by getParentFuncId(), isInlinedCallSite(), and isUnallocatedFunctionInfo().
MCSection* llvm::MCCVFunctionInfo::Section = nullptr |
The section of the first .cv_loc directive used for this function, or null if none has been seen yet.
Definition at line 118 of file MCCodeView.h.
Referenced by llvm::MCStreamer::checkCVLocSection().