LLVM
8.0.1
|
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. More... | |
bool | isInlinedCallSite () const |
Returns true if this represents an inlined call site, meaning ParentFuncIdPlusOne is neither zero nor ~0U. More... | |
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. More... | |
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. More... | |
DenseMap< unsigned, LineInfo > | InlinedAtMap |
Map from inlined call site id to the inlined at location to use for that call site. More... | |
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 92 of file MCCodeView.h.
anonymous enum : unsigned |
Enumerator | |
---|---|
FunctionSentinel |
Definition at line 100 of file MCCodeView.h.
|
inline |
Definition at line 131 of file MCCodeView.h.
References assert().
Referenced by llvm::CodeViewContext::recordInlinedCallSiteId().
|
inline |
Returns true if this represents an inlined call site, meaning ParentFuncIdPlusOne is neither zero nor ~0U.
Definition at line 126 of file MCCodeView.h.
Referenced by llvm::CodeViewContext::recordInlinedCallSiteId().
|
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 122 of file MCCodeView.h.
LineInfo llvm::MCCVFunctionInfo::InlinedAt |
Definition at line 108 of file MCCodeView.h.
Referenced by llvm::CodeViewContext::recordInlinedCallSiteId().
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 118 of file MCCodeView.h.
Referenced by llvm::CodeViewContext::encodeInlineLineTable(), and llvm::CodeViewContext::recordInlinedCallSiteId().
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 98 of file MCCodeView.h.
Referenced by llvm::CodeViewContext::recordInlinedCallSiteId().
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 112 of file MCCodeView.h.
Referenced by llvm::MCStreamer::checkCVLocSection().