9#ifndef LLVM_DEBUGINFO_PDB_NATIVE_NATIVERAWSYMBOL_H
10#define LLVM_DEBUGINFO_PDB_NATIVE_NATIVERAWSYMBOL_H
33 std::unique_ptr<IPDBEnumSymbols>
35 std::unique_ptr<IPDBEnumSymbols>
38 std::unique_ptr<IPDBEnumSymbols>
42 std::unique_ptr<IPDBEnumSymbols>
45 std::unique_ptr<IPDBEnumSymbols>
49 std::unique_ptr<IPDBEnumSymbols>
51 std::unique_ptr<IPDBEnumSymbols>
52 findInlineFramesByRVA(
uint32_t RVA)
const override;
53 std::unique_ptr<IPDBEnumSymbols>
54 findInlineFramesByVA(
uint64_t VA)
const override;
56 std::unique_ptr<IPDBEnumLineNumbers> findInlineeLines()
const override;
57 std::unique_ptr<IPDBEnumLineNumbers>
60 std::unique_ptr<IPDBEnumLineNumbers>
62 std::unique_ptr<IPDBEnumLineNumbers>
69 uint32_t getAddressOffset()
const override;
70 uint32_t getAddressSection()
const override;
72 SymIndexId getArrayIndexTypeId()
const override;
73 uint32_t getBaseDataOffset()
const override;
74 uint32_t getBaseDataSlot()
const override;
77 uint32_t getBitPosition()
const override;
80 std::string getCompilerName()
const override;
82 uint32_t getCountLiveRanges()
const override;
83 PDB_Lang getLanguage()
const override;
84 SymIndexId getLexicalParentId()
const override;
85 std::string getLibraryName()
const override;
86 uint32_t getLiveRangeStartAddressOffset()
const override;
87 uint32_t getLiveRangeStartAddressSection()
const override;
88 uint32_t getLiveRangeStartRelativeVirtualAddress()
const override;
91 uint32_t getMemorySpaceKind()
const override;
92 std::string
getName()
const override;
93 uint32_t getNumberOfAcceleratorPointerTags()
const override;
94 uint32_t getNumberOfColumns()
const override;
95 uint32_t getNumberOfModifiers()
const override;
96 uint32_t getNumberOfRegisterIndices()
const override;
97 uint32_t getNumberOfRows()
const override;
98 std::string getObjectFileName()
const override;
101 uint32_t getOffsetInUdt()
const override;
102 PDB_Cpu getPlatform()
const override;
105 uint32_t getRegisterType()
const override;
106 uint32_t getRelativeVirtualAddress()
const override;
107 uint32_t getSamplerSlot()
const override;
109 uint32_t getSizeInUdt()
const override;
111 std::string getSourceFileName()
const override;
112 std::unique_ptr<IPDBLineNumber> getSrcLineOnTypeDefn()
const override;
113 uint32_t getStride()
const override;
115 std::string getSymbolsFileName()
const override;
117 uint32_t getTargetOffset()
const override;
118 uint32_t getTargetRelativeVirtualAddress()
const override;
119 uint64_t getTargetVirtualAddress()
const override;
121 uint32_t getTextureSlot()
const override;
122 uint32_t getTimeStamp()
const override;
125 uint32_t getUavSlot()
const override;
126 std::string getUndecoratedName()
const override;
128 SymIndexId getUnmodifiedTypeId()
const override;
130 Variant getValue()
const override;
131 uint32_t getVirtualBaseDispIndex()
const override;
132 uint32_t getVirtualBaseOffset()
const override;
133 SymIndexId getVirtualTableShapeId()
const override;
134 std::unique_ptr<PDBSymbolTypeBuiltin>
135 getVirtualBaseTableType()
const override;
140 int32_t getThisAdjust()
const override;
141 int32_t getVirtualBasePointerOffset()
const override;
145 uint64_t getLength()
const override;
146 uint64_t getLiveRangeLength()
const override;
147 uint64_t getVirtualAddress()
const override;
149 bool hasConstructor()
const override;
150 bool hasCustomCallingConvention()
const override;
151 bool hasFarReturn()
const override;
152 bool isCode()
const override;
153 bool isCompilerGenerated()
const override;
154 bool isConstType()
const override;
155 bool isEditAndContinueEnabled()
const override;
157 bool getAddressTaken()
const override;
158 bool getNoStackOrdering()
const override;
159 bool hasAlloca()
const override;
160 bool hasAssignmentOperator()
const override;
161 bool hasCTypes()
const override;
162 bool hasCastOperator()
const override;
164 bool hasEH()
const override;
165 bool hasEHa()
const override;
166 bool hasInlAsm()
const override;
167 bool hasInlineAttribute()
const override;
168 bool hasInterruptReturn()
const override;
169 bool hasFramePointer()
const override;
170 bool hasLongJump()
const override;
171 bool hasManagedCode()
const override;
172 bool hasNestedTypes()
const override;
173 bool hasNoInlineAttribute()
const override;
174 bool hasNoReturnAttribute()
const override;
175 bool hasOptimizedCodeDebugInfo()
const override;
176 bool hasOverloadedOperator()
const override;
177 bool hasSEH()
const override;
178 bool hasSecurityChecks()
const override;
179 bool hasSetJump()
const override;
180 bool hasStrictGSCheck()
const override;
181 bool isAcceleratorGroupSharedLocal()
const override;
182 bool isAcceleratorPointerTagLiveRange()
const override;
183 bool isAcceleratorStubFunction()
const override;
184 bool isAggregated()
const override;
185 bool isIntroVirtualFunction()
const override;
186 bool isCVTCIL()
const override;
187 bool isConstructorVirtualBase()
const override;
188 bool isCxxReturnUdt()
const override;
189 bool isDataAligned()
const override;
190 bool isHLSLData()
const override;
191 bool isHotpatchable()
const override;
192 bool isIndirectVirtualBaseClass()
const override;
193 bool isInterfaceUdt()
const override;
195 bool isLTCG()
const override;
196 bool isLocationControlFlowDependent()
const override;
197 bool isMSILNetmodule()
const override;
198 bool isMatrixRowMajor()
const override;
199 bool isManagedCode()
const override;
200 bool isMSILCode()
const override;
201 bool isMultipleInheritance()
const override;
202 bool isNaked()
const override;
203 bool isNested()
const override;
204 bool isOptimizedAway()
const override;
205 bool isPacked()
const override;
206 bool isPointerBasedOnSymbolValue()
const override;
207 bool isPointerToDataMember()
const override;
208 bool isPointerToMemberFunction()
const override;
209 bool isPureVirtual()
const override;
210 bool isRValueReference()
const override;
211 bool isRefUdt()
const override;
212 bool isReference()
const override;
213 bool isRestrictedType()
const override;
214 bool isReturnValue()
const override;
215 bool isSafeBuffers()
const override;
216 bool isScoped()
const override;
217 bool isSdl()
const override;
218 bool isSingleInheritance()
const override;
219 bool isSplitted()
const override;
220 bool isStatic()
const override;
221 bool hasPrivateSymbols()
const override;
222 bool isUnalignedType()
const override;
223 bool isUnreached()
const override;
224 bool isValueUdt()
const override;
225 bool isVirtual()
const override;
226 bool isVirtualBaseClass()
const override;
227 bool isVirtualInheritance()
const override;
228 bool isVolatileType()
const override;
229 bool wasInlined()
const override;
230 std::string getUnused()
const override;
static bool hasDebugInfo(const MachineFunction *MF)
static StringRef getName(Value *V)
static std::optional< int32_t > getOffset(ArrayRef< int32_t > Offsets, size_t Idx)
static bool isFunction(SDValue Op)
static void initialize(TargetLibraryInfoImpl &TLI, const Triple &T, ArrayRef< StringLiteral > StandardNames)
Initialize the set of available library functions based on the specified target triple.
static std::string getSignature(FunctionType *FTy)
static const MCSection * getTargetSection(const MCExpr *Expr)
static bool isIntrinsic(const CallBase &Call, Intrinsic::ID ID)
This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small.
StringRef - Represent a constant reference to a string, i.e.
IPDBRawSymbol defines an interface used to represent an arbitrary symbol.
NativeRawSymbol(NativeSession &PDBSession, PDB_SymType Tag, SymIndexId SymbolId)
This class implements an extremely fast bulk output stream that can only output to a stream.
ThunkOrdinal
These values correspond to the THUNK_ORDINAL enumeration.
PDB_NameSearchFlags
Defines flags used for enumerating child symbols.
PDB_BuiltinType
These values correspond to the Basictype enumeration, and are documented here: https://msdn....
PDB_UdtType
These values correspond to the UdtKind enumeration, and are documented here: https://msdn....
PDB_SymType
These values correspond to the SymTagEnum enumeration, and are documented here: https://msdn....
PDB_LocType
These values correspond to the LocationType enumeration, and are documented here: https://msdn....
PDB_DataKind
These values correspond to the DataKind enumeration, and are documented here: https://msdn....
PDB_UndnameFlags
These values correspond to the flags that can be combined to control the return of an undecorated nam...
codeview::CPUType PDB_Cpu
These values correspond to the CV_CPU_TYPE_e enumeration, and are documented here: https://msdn....
codeview::SourceLanguage PDB_Lang
These values correspond to the CV_CFL_LANG enumeration, and are documented here: https://msdn....
codeview::CallingConvention PDB_CallingConv
These values correspond to the CV_call_e enumeration, and are documented at the following locations: ...
This is an optimization pass for GlobalISel generic memory operations.
void dump(const SparseBitVector< ElementSize > &LHS, raw_ostream &out)
LLVM_ABI std::pair< StringRef, StringRef > getToken(StringRef Source, StringRef Delimiters=" \t\n\v\f\r")
getToken - This function extracts one token from source, ignoring any leading characters that appear ...
LLVM_ABI COFF::MachineTypes getMachineType(StringRef S)
FunctionAddr VTableAddr uintptr_t uintptr_t Version
This represents the 'GUID' type from windows.h.