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:
VarStreamArray< CVSymbol > CVSymbolArray
bool symbolEndsScope(SymbolKind Kind)
Return true if this ssymbol ends a scope.
uint32_t getScopeEndOffset(const CVSymbol &Symbol)
Given a symbol P for which symbolOpensScope(P) == true, return the corresponding end offset.
uint32_t getScopeParentOffset(const CVSymbol &Symbol)
bool symbolOpensScope(SymbolKind Kind)
Return true if this symbol opens a scope.
SymbolKind
Duplicate copy of the above enum, but using the official CV names.
CVRecord< SymbolKind > CVSymbol
CVSymbolArray limitSymbolArrayToScope(const CVSymbolArray &Symbols, uint32_t ScopeBegin)
This is an optimization pass for GlobalISel generic memory operations.