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>
66 void getFrontEndVersion(
VersionInfo &Version)
const override;
67 void getBackEndVersion(
VersionInfo &Version)
const override;
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.
The instances of the Type class are immutable: once they are created, they are never changed.
IPDBRawSymbol defines an interface used to represent an arbitrary symbol.
This class implements an extremely fast bulk output stream that can only output to a stream.
CPUType
These values correspond to the CV_CPU_TYPE_e enumeration, and are documented here: https://msdn....
CallingConvention
These values correspond to the CV_call_e enumeration, and are documented at the following locations: ...
ThunkOrdinal
These values correspond to the THUNK_ORDINAL enumeration.
SourceLanguage
These values correspond to the CV_CFL_LANG enumeration in the Microsoft Debug Interface Access SDK,...
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...
This is an optimization pass for GlobalISel generic memory operations.
void dump(const SparseBitVector< ElementSize > &LHS, raw_ostream &out)
LLVM_ABI COFF::MachineTypes getMachineType(StringRef S)
This represents the 'GUID' type from windows.h.