LLVM
9.0.0svn
|
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 91 of file MCCodeView.h.
anonymous enum : unsigned |
Enumerator | |
---|---|
FunctionSentinel |
Definition at line 99 of file MCCodeView.h.
|
inline |
Definition at line 130 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 125 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 121 of file MCCodeView.h.
LineInfo llvm::MCCVFunctionInfo::InlinedAt |
Definition at line 107 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 117 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 97 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 111 of file MCCodeView.h.
Referenced by llvm::MCStreamer::checkCVLocSection().