Go to the documentation of this file.
9 #ifndef LLVM_DEBUGINFO_CODEVIEW_SYMBOLRECORDHELPERS_H
10 #define LLVM_DEBUGINFO_CODEVIEW_SYMBOLRECORDHELPERS_H
22 case SymbolKind::S_GPROC32:
23 case SymbolKind::S_LPROC32:
24 case SymbolKind::S_LPROC32_ID:
25 case SymbolKind::S_GPROC32_ID:
26 case SymbolKind::S_BLOCK32:
27 case SymbolKind::S_SEPCODE:
28 case SymbolKind::S_THUNK32:
29 case SymbolKind::S_INLINESITE:
30 case SymbolKind::S_INLINESITE2:
41 case SymbolKind::S_END:
42 case SymbolKind::S_PROC_ID_END:
43 case SymbolKind::S_INLINESITE_END:
bool symbolEndsScope(SymbolKind Kind)
Return true if this ssymbol ends a scope.
This is an optimization pass for GlobalISel generic memory operations.
SymbolKind
Duplicate copy of the above enum, but using the official CV names.
bool symbolOpensScope(SymbolKind Kind)
Return true if this symbol opens a scope.
uint32_t getScopeEndOffset(const CVSymbol &Symbol)
Given a symbol P for which symbolOpensScope(P) == true, return the corresponding end offset.
CVRecord< SymbolKind > CVSymbol
uint32_t getScopeParentOffset(const CVSymbol &Symbol)
VarStreamArray< CVSymbol > CVSymbolArray
CVSymbolArray limitSymbolArrayToScope(const CVSymbolArray &Symbols, uint32_t ScopeBegin)