LLVM  16.0.0git
NativeRawSymbol.h
Go to the documentation of this file.
1 //==- NativeRawSymbol.h - Native implementation of IPDBRawSymbol -*- C++ -*-==//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 
9 #ifndef LLVM_DEBUGINFO_PDB_NATIVE_NATIVERAWSYMBOL_H
10 #define LLVM_DEBUGINFO_PDB_NATIVE_NATIVERAWSYMBOL_H
11 
13 #include <cstdint>
14 #include <memory>
15 
16 namespace llvm {
17 namespace pdb {
18 
19 class NativeSession;
20 
22  friend class SymbolCache;
23  virtual void initialize() {}
24 
25 public:
28 
29  void dump(raw_ostream &OS, int Indent, PdbSymbolIdField ShowIdFields,
30  PdbSymbolIdField RecurseIdFields) const override;
31 
32  std::unique_ptr<IPDBEnumSymbols>
33  findChildren(PDB_SymType Type) const override;
34  std::unique_ptr<IPDBEnumSymbols>
36  PDB_NameSearchFlags Flags) const override;
37  std::unique_ptr<IPDBEnumSymbols>
39  PDB_NameSearchFlags Flags,
40  uint32_t Section, uint32_t Offset) const override;
41  std::unique_ptr<IPDBEnumSymbols>
43  uint64_t VA) const override;
44  std::unique_ptr<IPDBEnumSymbols>
46  uint32_t RVA) const override;
47 
48  std::unique_ptr<IPDBEnumSymbols>
50  std::unique_ptr<IPDBEnumSymbols>
51  findInlineFramesByRVA(uint32_t RVA) const override;
52  std::unique_ptr<IPDBEnumSymbols>
53  findInlineFramesByVA(uint64_t VA) const override;
54 
55  std::unique_ptr<IPDBEnumLineNumbers> findInlineeLines() const override;
56  std::unique_ptr<IPDBEnumLineNumbers>
58  uint32_t Length) const override;
59  std::unique_ptr<IPDBEnumLineNumbers>
60  findInlineeLinesByRVA(uint32_t RVA, uint32_t Length) const override;
61  std::unique_ptr<IPDBEnumLineNumbers>
62  findInlineeLinesByVA(uint64_t VA, uint32_t Length) const override;
63 
64  void getDataBytes(SmallVector<uint8_t, 32> &Bytes) const override;
65  void getFrontEndVersion(VersionInfo &Version) const override;
66  void getBackEndVersion(VersionInfo &Version) const override;
67  PDB_MemberAccess getAccess() const override;
68  uint32_t getAddressOffset() const override;
69  uint32_t getAddressSection() const override;
70  uint32_t getAge() const override;
71  SymIndexId getArrayIndexTypeId() const override;
72  uint32_t getBaseDataOffset() const override;
73  uint32_t getBaseDataSlot() const override;
74  SymIndexId getBaseSymbolId() const override;
75  PDB_BuiltinType getBuiltinType() const override;
76  uint32_t getBitPosition() const override;
77  PDB_CallingConv getCallingConvention() const override;
78  SymIndexId getClassParentId() const override;
79  std::string getCompilerName() const override;
80  uint32_t getCount() const override;
81  uint32_t getCountLiveRanges() const override;
82  PDB_Lang getLanguage() const override;
83  SymIndexId getLexicalParentId() const override;
84  std::string getLibraryName() const override;
89  SymIndexId getLowerBoundId() const override;
90  uint32_t getMemorySpaceKind() const override;
91  std::string getName() const override;
93  uint32_t getNumberOfColumns() const override;
94  uint32_t getNumberOfModifiers() const override;
95  uint32_t getNumberOfRegisterIndices() const override;
96  uint32_t getNumberOfRows() const override;
97  std::string getObjectFileName() const override;
98  uint32_t getOemId() const override;
99  SymIndexId getOemSymbolId() const override;
100  uint32_t getOffsetInUdt() const override;
101  PDB_Cpu getPlatform() const override;
102  uint32_t getRank() const override;
103  codeview::RegisterId getRegisterId() const override;
104  uint32_t getRegisterType() const override;
105  uint32_t getRelativeVirtualAddress() const override;
106  uint32_t getSamplerSlot() const override;
107  uint32_t getSignature() const override;
108  uint32_t getSizeInUdt() const override;
109  uint32_t getSlot() const override;
110  std::string getSourceFileName() const override;
111  std::unique_ptr<IPDBLineNumber> getSrcLineOnTypeDefn() const override;
112  uint32_t getStride() const override;
113  SymIndexId getSubTypeId() const override;
114  std::string getSymbolsFileName() const override;
115  SymIndexId getSymIndexId() const override;
116  uint32_t getTargetOffset() const override;
117  uint32_t getTargetRelativeVirtualAddress() const override;
118  uint64_t getTargetVirtualAddress() const override;
119  uint32_t getTargetSection() const override;
120  uint32_t getTextureSlot() const override;
121  uint32_t getTimeStamp() const override;
122  uint32_t getToken() const override;
123  SymIndexId getTypeId() const override;
124  uint32_t getUavSlot() const override;
125  std::string getUndecoratedName() const override;
126  std::string getUndecoratedNameEx(PDB_UndnameFlags Flags) const override;
127  SymIndexId getUnmodifiedTypeId() const override;
128  SymIndexId getUpperBoundId() const override;
129  Variant getValue() const override;
130  uint32_t getVirtualBaseDispIndex() const override;
131  uint32_t getVirtualBaseOffset() const override;
132  SymIndexId getVirtualTableShapeId() const override;
133  std::unique_ptr<PDBSymbolTypeBuiltin>
134  getVirtualBaseTableType() const override;
135  PDB_DataKind getDataKind() const override;
136  PDB_SymType getSymTag() const override;
137  codeview::GUID getGuid() const override;
138  int32_t getOffset() const override;
139  int32_t getThisAdjust() const override;
140  int32_t getVirtualBasePointerOffset() const override;
141  PDB_LocType getLocationType() const override;
142  PDB_Machine getMachineType() const override;
143  codeview::ThunkOrdinal getThunkOrdinal() const override;
144  uint64_t getLength() const override;
145  uint64_t getLiveRangeLength() const override;
146  uint64_t getVirtualAddress() const override;
147  PDB_UdtType getUdtKind() const override;
148  bool hasConstructor() const override;
149  bool hasCustomCallingConvention() const override;
150  bool hasFarReturn() const override;
151  bool isCode() const override;
152  bool isCompilerGenerated() const override;
153  bool isConstType() const override;
154  bool isEditAndContinueEnabled() const override;
155  bool isFunction() const override;
156  bool getAddressTaken() const override;
157  bool getNoStackOrdering() const override;
158  bool hasAlloca() const override;
159  bool hasAssignmentOperator() const override;
160  bool hasCTypes() const override;
161  bool hasCastOperator() const override;
162  bool hasDebugInfo() const override;
163  bool hasEH() const override;
164  bool hasEHa() const override;
165  bool hasInlAsm() const override;
166  bool hasInlineAttribute() const override;
167  bool hasInterruptReturn() const override;
168  bool hasFramePointer() const override;
169  bool hasLongJump() const override;
170  bool hasManagedCode() const override;
171  bool hasNestedTypes() const override;
172  bool hasNoInlineAttribute() const override;
173  bool hasNoReturnAttribute() const override;
174  bool hasOptimizedCodeDebugInfo() const override;
175  bool hasOverloadedOperator() const override;
176  bool hasSEH() const override;
177  bool hasSecurityChecks() const override;
178  bool hasSetJump() const override;
179  bool hasStrictGSCheck() const override;
180  bool isAcceleratorGroupSharedLocal() const override;
181  bool isAcceleratorPointerTagLiveRange() const override;
182  bool isAcceleratorStubFunction() const override;
183  bool isAggregated() const override;
184  bool isIntroVirtualFunction() const override;
185  bool isCVTCIL() const override;
186  bool isConstructorVirtualBase() const override;
187  bool isCxxReturnUdt() const override;
188  bool isDataAligned() const override;
189  bool isHLSLData() const override;
190  bool isHotpatchable() const override;
191  bool isIndirectVirtualBaseClass() const override;
192  bool isInterfaceUdt() const override;
193  bool isIntrinsic() const override;
194  bool isLTCG() const override;
195  bool isLocationControlFlowDependent() const override;
196  bool isMSILNetmodule() const override;
197  bool isMatrixRowMajor() const override;
198  bool isManagedCode() const override;
199  bool isMSILCode() const override;
200  bool isMultipleInheritance() const override;
201  bool isNaked() const override;
202  bool isNested() const override;
203  bool isOptimizedAway() const override;
204  bool isPacked() const override;
205  bool isPointerBasedOnSymbolValue() const override;
206  bool isPointerToDataMember() const override;
207  bool isPointerToMemberFunction() const override;
208  bool isPureVirtual() const override;
209  bool isRValueReference() const override;
210  bool isRefUdt() const override;
211  bool isReference() const override;
212  bool isRestrictedType() const override;
213  bool isReturnValue() const override;
214  bool isSafeBuffers() const override;
215  bool isScoped() const override;
216  bool isSdl() const override;
217  bool isSingleInheritance() const override;
218  bool isSplitted() const override;
219  bool isStatic() const override;
220  bool hasPrivateSymbols() const override;
221  bool isUnalignedType() const override;
222  bool isUnreached() const override;
223  bool isValueUdt() const override;
224  bool isVirtual() const override;
225  bool isVirtualBaseClass() const override;
226  bool isVirtualInheritance() const override;
227  bool isVolatileType() const override;
228  bool wasInlined() const override;
229  std::string getUnused() const override;
230 
231 protected:
235 };
236 
237 } // end namespace pdb
238 } // end namespace llvm
239 
240 #endif // LLVM_DEBUGINFO_PDB_NATIVE_NATIVERAWSYMBOL_H
llvm::pdb::NativeRawSymbol::isStatic
bool isStatic() const override
Definition: NativeRawSymbol.cpp:691
llvm::pdb::NativeRawSymbol::hasEHa
bool hasEHa() const override
Definition: NativeRawSymbol.cpp:471
llvm
This is an optimization pass for GlobalISel generic memory operations.
Definition: AddressRanges.h:18
llvm::pdb::NativeRawSymbol::getVirtualBaseTableType
std::unique_ptr< PDBSymbolTypeBuiltin > getVirtualBaseTableType() const override
Definition: NativeRawSymbol.cpp:355
llvm::pdb::NativeRawSymbol::getRegisterId
codeview::RegisterId getRegisterId() const override
Definition: NativeRawSymbol.cpp:246
llvm::pdb::NativeRawSymbol::getSourceFileName
std::string getSourceFileName() const override
Definition: NativeRawSymbol.cpp:274
llvm::pdb::NativeRawSymbol::getLiveRangeStartRelativeVirtualAddress
uint32_t getLiveRangeStartRelativeVirtualAddress() const override
Definition: NativeRawSymbol.cpp:186
llvm::pdb::NativeRawSymbol::hasManagedCode
bool hasManagedCode() const override
Definition: NativeRawSymbol.cpp:495
llvm::pdb::NativeRawSymbol::getSamplerSlot
uint32_t getSamplerSlot() const override
Definition: NativeRawSymbol.cpp:258
llvm::pdb::NativeRawSymbol::getUnused
std::string getUnused() const override
Definition: NativeRawSymbol.cpp:731
llvm::pdb::NativeRawSymbol::wasInlined
bool wasInlined() const override
Definition: NativeRawSymbol.cpp:727
llvm::pdb::NativeRawSymbol::getTargetOffset
uint32_t getTargetOffset() const override
Definition: NativeRawSymbol.cpp:293
llvm::pdb::NativeRawSymbol::isConstType
bool isConstType() const override
Definition: NativeRawSymbol.cpp:427
IPDBRawSymbol.h
llvm::pdb::NativeRawSymbol::getBitPosition
uint32_t getBitPosition() const override
Definition: NativeRawSymbol.cpp:139
llvm::pdb::NativeRawSymbol::hasConstructor
bool hasConstructor() const override
Definition: NativeRawSymbol.cpp:407
llvm::pdb::NativeRawSymbol::getSymbolsFileName
std::string getSymbolsFileName() const override
Definition: NativeRawSymbol.cpp:289
llvm::SmallVector< uint8_t, 32 >
llvm::pdb::NativeRawSymbol::isHotpatchable
bool isHotpatchable() const override
Definition: NativeRawSymbol.cpp:575
llvm::pdb::NativeRawSymbol::getLocalBasePointerRegisterId
codeview::RegisterId getLocalBasePointerRegisterId() const override
Definition: NativeRawSymbol.cpp:190
llvm::pdb::NativeRawSymbol::getSymTag
PDB_SymType getSymTag() const override
Definition: NativeRawSymbol.cpp:363
llvm::pdb::NativeRawSymbol::isAcceleratorPointerTagLiveRange
bool isAcceleratorPointerTagLiveRange() const override
Definition: NativeRawSymbol.cpp:539
llvm::pdb::NativeRawSymbol::isCode
bool isCode() const override
Definition: NativeRawSymbol.cpp:419
llvm::pdb::NativeRawSymbol::getDataKind
PDB_DataKind getDataKind() const override
Definition: NativeRawSymbol.cpp:359
llvm::pdb::NativeRawSymbol::getAccess
PDB_MemberAccess getAccess() const override
Definition: NativeRawSymbol.cpp:100
llvm::codeview::GUID
This represents the 'GUID' type from windows.h.
Definition: GUID.h:21
llvm::pdb::NativeRawSymbol::getNumberOfRegisterIndices
uint32_t getNumberOfRegisterIndices() const override
Definition: NativeRawSymbol.cpp:216
llvm::pdb::PDB_UdtType
PDB_UdtType
These values correspond to the UdtKind enumeration, and are documented here: https://msdn....
Definition: PDBTypes.h:310
llvm::pdb::NativeRawSymbol::findInlineFramesByAddr
std::unique_ptr< IPDBEnumSymbols > findInlineFramesByAddr(uint32_t Section, uint32_t Offset) const override
Definition: NativeRawSymbol.cpp:60
llvm::pdb::NativeRawSymbol::isUnalignedType
bool isUnalignedType() const override
Definition: NativeRawSymbol.cpp:699
llvm::pdb::PDB_LocType
PDB_LocType
These values correspond to the LocationType enumeration, and are documented here: https://msdn....
Definition: PDBTypes.h:292
llvm::pdb::NativeRawSymbol::getVirtualBaseOffset
uint32_t getVirtualBaseOffset() const override
Definition: NativeRawSymbol.cpp:348
llvm::pdb::NativeRawSymbol::hasNoInlineAttribute
bool hasNoInlineAttribute() const override
Definition: NativeRawSymbol.cpp:503
llvm::Type
The instances of the Type class are immutable: once they are created, they are never changed.
Definition: Type.h:45
llvm::pdb::NativeRawSymbol::getNumberOfAcceleratorPointerTags
uint32_t getNumberOfAcceleratorPointerTags() const override
Definition: NativeRawSymbol.cpp:204
llvm::pdb::NativeRawSymbol::getNumberOfRows
uint32_t getNumberOfRows() const override
Definition: NativeRawSymbol.cpp:220
llvm::pdb::NativeRawSymbol::getLanguage
PDB_Lang getLanguage() const override
Definition: NativeRawSymbol.cpp:168
llvm::pdb::NativeRawSymbol::getSignature
uint32_t getSignature() const override
Definition: NativeRawSymbol.cpp:262
Offset
uint64_t Offset
Definition: ELFObjHandler.cpp:80
llvm::pdb::VersionInfo
Definition: PDBTypes.h:387
llvm::pdb::NativeRawSymbol::getAddressSection
uint32_t getAddressSection() const override
Definition: NativeRawSymbol.cpp:108
llvm::pdb::NativeRawSymbol::isMultipleInheritance
bool isMultipleInheritance() const override
Definition: NativeRawSymbol.cpp:615
llvm::pdb::NativeRawSymbol::findInlineeLines
std::unique_ptr< IPDBEnumLineNumbers > findInlineeLines() const override
Definition: NativeRawSymbol.cpp:76
llvm::pdb::NativeRawSymbol::isRValueReference
bool isRValueReference() const override
Definition: NativeRawSymbol.cpp:651
llvm::pdb::NativeRawSymbol::getRegisterType
uint32_t getRegisterType() const override
Definition: NativeRawSymbol.cpp:250
initialize
static void initialize(TargetLibraryInfoImpl &TLI, const Triple &T, ArrayRef< StringLiteral > StandardNames)
Initialize the set of available library functions based on the specified target triple.
Definition: TargetLibraryInfo.cpp:150
llvm::dwarf::Tag
Tag
Definition: Dwarf.h:105
llvm::pdb::SymbolCache
Definition: SymbolCache.h:37
llvm::pdb::NativeRawSymbol::getUpperBoundId
SymIndexId getUpperBoundId() const override
Definition: NativeRawSymbol.cpp:338
llvm::pdb::NativeRawSymbol::getMemorySpaceKind
uint32_t getMemorySpaceKind() const override
Definition: NativeRawSymbol.cpp:196
llvm::pdb::NativeRawSymbol::getStride
uint32_t getStride() const override
Definition: NativeRawSymbol.cpp:283
llvm::pdb::PDB_SymType
PDB_SymType
These values correspond to the SymTagEnum enumeration, and are documented here: https://msdn....
Definition: PDBTypes.h:243
llvm::pdb::NativeRawSymbol::isIntrinsic
bool isIntrinsic() const override
Definition: NativeRawSymbol.cpp:587
llvm::pdb::NativeRawSymbol::isVolatileType
bool isVolatileType() const override
Definition: NativeRawSymbol.cpp:723
llvm::pdb::NativeRawSymbol::getLength
uint64_t getLength() const override
Definition: NativeRawSymbol.cpp:391
llvm::pdb::NativeRawSymbol::getMachineType
PDB_Machine getMachineType() const override
Definition: NativeRawSymbol.cpp:383
llvm::pdb::NativeRawSymbol::hasEH
bool hasEH() const override
Definition: NativeRawSymbol.cpp:467
llvm::ARMBuildAttrs::Section
@ Section
Legacy Tags.
Definition: ARMBuildAttributes.h:82
llvm::pdb::NativeRawSymbol::hasInlineAttribute
bool hasInlineAttribute() const override
Definition: NativeRawSymbol.cpp:479
llvm::pdb::NativeRawSymbol::getSrcLineOnTypeDefn
std::unique_ptr< IPDBLineNumber > getSrcLineOnTypeDefn() const override
Definition: NativeRawSymbol.cpp:279
llvm::pdb::NativeRawSymbol::getLowerBoundId
SymIndexId getLowerBoundId() const override
Definition: NativeRawSymbol.cpp:194
llvm::pdb::NativeRawSymbol::hasOptimizedCodeDebugInfo
bool hasOptimizedCodeDebugInfo() const override
Definition: NativeRawSymbol.cpp:511
llvm::pdb::NativeRawSymbol::getAddressTaken
bool getAddressTaken() const override
Definition: NativeRawSymbol.cpp:439
llvm::pdb::NativeRawSymbol::isPacked
bool isPacked() const override
Definition: NativeRawSymbol.cpp:631
llvm::pdb::NativeRawSymbol::isSdl
bool isSdl() const override
Definition: NativeRawSymbol.cpp:679
llvm::pdb::NativeRawSymbol::getLiveRangeStartAddressSection
uint32_t getLiveRangeStartAddressSection() const override
Definition: NativeRawSymbol.cpp:182
llvm::pdb::NativeRawSymbol::getSubTypeId
SymIndexId getSubTypeId() const override
Definition: NativeRawSymbol.cpp:287
llvm::pdb::NativeRawSymbol::findInlineFramesByVA
std::unique_ptr< IPDBEnumSymbols > findInlineFramesByVA(uint64_t VA) const override
Definition: NativeRawSymbol.cpp:71
llvm::pdb::NativeRawSymbol::getUdtKind
PDB_UdtType getUdtKind() const override
Definition: NativeRawSymbol.cpp:403
llvm::pdb::NativeRawSymbol::isIntroVirtualFunction
bool isIntroVirtualFunction() const override
Definition: NativeRawSymbol.cpp:551
llvm::pdb::NativeRawSymbol::hasSEH
bool hasSEH() const override
Definition: NativeRawSymbol.cpp:519
llvm::pdb::NativeRawSymbol::isSingleInheritance
bool isSingleInheritance() const override
Definition: NativeRawSymbol.cpp:683
llvm::pdb::NativeRawSymbol::isFunction
bool isFunction() const override
Definition: NativeRawSymbol.cpp:435
llvm::pdb::SymIndexId
uint32_t SymIndexId
Definition: PDBTypes.h:26
llvm::pdb::NativeRawSymbol::isPureVirtual
bool isPureVirtual() const override
Definition: NativeRawSymbol.cpp:647
llvm::pdb::NativeRawSymbol::getCountLiveRanges
uint32_t getCountLiveRanges() const override
Definition: NativeRawSymbol.cpp:157
llvm::pdb::PDB_DataKind
PDB_DataKind
These values correspond to the DataKind enumeration, and are documented here: https://msdn....
Definition: PDBTypes.h:228
llvm::pdb::NativeRawSymbol::hasPrivateSymbols
bool hasPrivateSymbols() const override
Definition: NativeRawSymbol.cpp:695
llvm::pdb::NativeRawSymbol::getOemSymbolId
SymIndexId getOemSymbolId() const override
Definition: NativeRawSymbol.cpp:232
llvm::pdb::NativeRawSymbol::getOffsetInUdt
uint32_t getOffsetInUdt() const override
Definition: NativeRawSymbol.cpp:234
llvm::pdb::NativeRawSymbol::getVirtualAddress
uint64_t getVirtualAddress() const override
Definition: NativeRawSymbol.cpp:399
llvm::pdb::NativeRawSymbol::isAcceleratorStubFunction
bool isAcceleratorStubFunction() const override
Definition: NativeRawSymbol.cpp:543
llvm::pdb::NativeRawSymbol::isCompilerGenerated
bool isCompilerGenerated() const override
Definition: NativeRawSymbol.cpp:423
llvm::pdb::NativeRawSymbol::isVirtualBaseClass
bool isVirtualBaseClass() const override
Definition: NativeRawSymbol.cpp:715
llvm::pdb::NativeRawSymbol::hasDebugInfo
bool hasDebugInfo() const override
Definition: NativeRawSymbol.cpp:463
llvm::pdb::NativeRawSymbol::getThisAdjust
int32_t getThisAdjust() const override
Definition: NativeRawSymbol.cpp:371
llvm::pdb::NativeRawSymbol::hasInlAsm
bool hasInlAsm() const override
Definition: NativeRawSymbol.cpp:475
llvm::pdb::NativeRawSymbol::getBaseDataSlot
uint32_t getBaseDataSlot() const override
Definition: NativeRawSymbol.cpp:129
llvm::raw_ostream
This class implements an extremely fast bulk output stream that can only output to a stream.
Definition: raw_ostream.h:53
llvm::pdb::NativeRawSymbol::isLocationControlFlowDependent
bool isLocationControlFlowDependent() const override
Definition: NativeRawSymbol.cpp:595
llvm::pdb::NativeRawSymbol::getToken
uint32_t getToken() const override
Definition: NativeRawSymbol.cpp:317
llvm::pdb::NativeRawSymbol::getBackEndVersion
void getBackEndVersion(VersionInfo &Version) const override
Definition: NativeRawSymbol.cpp:118
llvm::pdb::PDB_NameSearchFlags
PDB_NameSearchFlags
Defines flags used for enumerating child symbols.
Definition: PDBTypes.h:102
llvm::pdb::NativeRawSymbol::getSizeInUdt
uint32_t getSizeInUdt() const override
Definition: NativeRawSymbol.cpp:266
llvm::IndexedInstrProf::Version
const uint64_t Version
Definition: InstrProf.h:1056
llvm::pdb::NativeRawSymbol::getLocationType
PDB_LocType getLocationType() const override
Definition: NativeRawSymbol.cpp:379
llvm::pdb::NativeRawSymbol::hasAssignmentOperator
bool hasAssignmentOperator() const override
Definition: NativeRawSymbol.cpp:451
llvm::pdb::NativeRawSymbol::getOemId
uint32_t getOemId() const override
Definition: NativeRawSymbol.cpp:228
llvm::pdb::NativeRawSymbol::isAggregated
bool isAggregated() const override
Definition: NativeRawSymbol.cpp:547
llvm::pdb::NativeRawSymbol::isIndirectVirtualBaseClass
bool isIndirectVirtualBaseClass() const override
Definition: NativeRawSymbol.cpp:579
llvm::pdb::NativeRawSymbol::getFrontEndVersion
void getFrontEndVersion(VersionInfo &Version) const override
Definition: NativeRawSymbol.cpp:161
llvm::pdb::NativeRawSymbol::isPointerToDataMember
bool isPointerToDataMember() const override
Definition: NativeRawSymbol.cpp:639
llvm::pdb::NativeRawSymbol::hasCastOperator
bool hasCastOperator() const override
Definition: NativeRawSymbol.cpp:459
llvm::pdb::NativeRawSymbol::getSlot
uint32_t getSlot() const override
Definition: NativeRawSymbol.cpp:270
llvm::pdb::NativeRawSymbol::isPointerToMemberFunction
bool isPointerToMemberFunction() const override
Definition: NativeRawSymbol.cpp:643
llvm::pdb::NativeRawSymbol::isVirtual
bool isVirtual() const override
Definition: NativeRawSymbol.cpp:711
llvm::pdb::NativeRawSymbol::isNested
bool isNested() const override
Definition: NativeRawSymbol.cpp:623
llvm::pdb::NativeRawSymbol::findInlineeLinesByAddr
std::unique_ptr< IPDBEnumLineNumbers > findInlineeLinesByAddr(uint32_t Section, uint32_t Offset, uint32_t Length) const override
Definition: NativeRawSymbol.cpp:81
llvm::pdb::NativeRawSymbol::hasStrictGSCheck
bool hasStrictGSCheck() const override
Definition: NativeRawSymbol.cpp:531
llvm::pdb::NativeRawSymbol::getVirtualBasePointerOffset
int32_t getVirtualBasePointerOffset() const override
Definition: NativeRawSymbol.cpp:375
uint64_t
llvm::pdb::NativeRawSymbol::isReference
bool isReference() const override
Definition: NativeRawSymbol.cpp:659
llvm::pdb::NativeRawSymbol::getAddressOffset
uint32_t getAddressOffset() const override
Definition: NativeRawSymbol.cpp:104
llvm::pdb::NativeRawSymbol::getTargetVirtualAddress
uint64_t getTargetVirtualAddress() const override
Definition: NativeRawSymbol.cpp:301
llvm::pdb::NativeRawSymbol::findInlineeLinesByRVA
std::unique_ptr< IPDBEnumLineNumbers > findInlineeLinesByRVA(uint32_t RVA, uint32_t Length) const override
Definition: NativeRawSymbol.cpp:87
llvm::pdb::NativeRawSymbol::getThunkOrdinal
codeview::ThunkOrdinal getThunkOrdinal() const override
Definition: NativeRawSymbol.cpp:387
llvm::pdb::NativeRawSymbol::getValue
Variant getValue() const override
Definition: NativeRawSymbol.cpp:340
llvm::pdb::PDB_UndnameFlags
PDB_UndnameFlags
These values correspond to the flags that can be combined to control the return of an undecorated nam...
Definition: PDBTypes.h:362
llvm::pdb::NativeRawSymbol::hasOverloadedOperator
bool hasOverloadedOperator() const override
Definition: NativeRawSymbol.cpp:515
llvm::pdb::NativeRawSymbol::hasInterruptReturn
bool hasInterruptReturn() const override
Definition: NativeRawSymbol.cpp:483
llvm::pdb::NativeRawSymbol::getCallingConvention
PDB_CallingConv getCallingConvention() const override
Definition: NativeRawSymbol.cpp:143
llvm::pdb::NativeRawSymbol::getBaseSymbolId
SymIndexId getBaseSymbolId() const override
Definition: NativeRawSymbol.cpp:133
llvm::pdb::NativeRawSymbol::getLibraryName
std::string getLibraryName() const override
Definition: NativeRawSymbol.cpp:174
llvm::pdb::NativeRawSymbol::getTypeId
SymIndexId getTypeId() const override
Definition: NativeRawSymbol.cpp:321
llvm::pdb::NativeRawSymbol::hasFarReturn
bool hasFarReturn() const override
Definition: NativeRawSymbol.cpp:415
llvm::pdb::NativeRawSymbol::isRestrictedType
bool isRestrictedType() const override
Definition: NativeRawSymbol.cpp:663
llvm::codeview::RegisterId
RegisterId
Definition: CodeView.h:519
llvm::pdb::NativeRawSymbol::getBaseDataOffset
uint32_t getBaseDataOffset() const override
Definition: NativeRawSymbol.cpp:125
llvm::pdb::NativeRawSymbol::findChildrenByAddr
std::unique_ptr< IPDBEnumSymbols > findChildrenByAddr(PDB_SymType Type, StringRef Name, PDB_NameSearchFlags Flags, uint32_t Section, uint32_t Offset) const override
Definition: NativeRawSymbol.cpp:42
llvm::pdb::NativeRawSymbol::getSymIndexId
SymIndexId getSymIndexId() const override
Definition: NativeRawSymbol.cpp:291
llvm::pdb::NativeRawSymbol::isHLSLData
bool isHLSLData() const override
Definition: NativeRawSymbol.cpp:571
llvm::pdb::NativeRawSymbol::getLiveRangeLength
uint64_t getLiveRangeLength() const override
Definition: NativeRawSymbol.cpp:395
llvm::codeview::SourceLanguage
SourceLanguage
These values correspond to the CV_CFL_LANG enumeration, and are documented here: https://msdn....
Definition: CodeView.h:143
llvm::pdb::NativeRawSymbol::getUndecoratedNameEx
std::string getUndecoratedNameEx(PDB_UndnameFlags Flags) const override
Definition: NativeRawSymbol.cpp:331
llvm::pdb::NativeRawSymbol::getNumberOfModifiers
uint32_t getNumberOfModifiers() const override
Definition: NativeRawSymbol.cpp:212
llvm::pdb::NativeRawSymbol::getLexicalParentId
SymIndexId getLexicalParentId() const override
Definition: NativeRawSymbol.cpp:172
llvm::pdb::PDB_Machine
PDB_Machine
Definition: PDBTypes.h:125
llvm::StringRef
StringRef - Represent a constant reference to a string, i.e.
Definition: StringRef.h:50
llvm::pdb::NativeRawSymbol::findInlineeLinesByVA
std::unique_ptr< IPDBEnumLineNumbers > findInlineeLinesByVA(uint64_t VA, uint32_t Length) const override
Definition: NativeRawSymbol.cpp:92
llvm::pdb::NativeRawSymbol::isMSILNetmodule
bool isMSILNetmodule() const override
Definition: NativeRawSymbol.cpp:599
llvm::pdb::NativeRawSymbol::getArrayIndexTypeId
SymIndexId getArrayIndexTypeId() const override
Definition: NativeRawSymbol.cpp:116
llvm::pdb::NativeRawSymbol::getVirtualTableShapeId
SymIndexId getVirtualTableShapeId() const override
Definition: NativeRawSymbol.cpp:352
llvm::pdb::NativeRawSymbol::getTargetRelativeVirtualAddress
uint32_t getTargetRelativeVirtualAddress() const override
Definition: NativeRawSymbol.cpp:297
uint32_t
llvm::pdb::NativeRawSymbol::isRefUdt
bool isRefUdt() const override
Definition: NativeRawSymbol.cpp:655
llvm::pdb::NativeRawSymbol::isMatrixRowMajor
bool isMatrixRowMajor() const override
Definition: NativeRawSymbol.cpp:603
llvm::pdb::PDB_BuiltinType
PDB_BuiltinType
These values correspond to the Basictype enumeration, and are documented here: https://msdn....
Definition: PDBTypes.h:335
llvm::pdb::NativeRawSymbol::getUndecoratedName
std::string getUndecoratedName() const override
Definition: NativeRawSymbol.cpp:327
llvm::pdb::NativeRawSymbol::isNaked
bool isNaked() const override
Definition: NativeRawSymbol.cpp:619
llvm::pdb::NativeRawSymbol::isSplitted
bool isSplitted() const override
Definition: NativeRawSymbol.cpp:687
llvm::pdb::NativeRawSymbol::isPointerBasedOnSymbolValue
bool isPointerBasedOnSymbolValue() const override
Definition: NativeRawSymbol.cpp:635
llvm::pdb::NativeRawSymbol::isVirtualInheritance
bool isVirtualInheritance() const override
Definition: NativeRawSymbol.cpp:719
llvm::pdb::NativeRawSymbol::isCxxReturnUdt
bool isCxxReturnUdt() const override
Definition: NativeRawSymbol.cpp:563
llvm::pdb::NativeRawSymbol::getNumberOfColumns
uint32_t getNumberOfColumns() const override
Definition: NativeRawSymbol.cpp:208
llvm::pdb::NativeRawSymbol::getVirtualBaseDispIndex
uint32_t getVirtualBaseDispIndex() const override
Definition: NativeRawSymbol.cpp:344
llvm::pdb::NativeRawSymbol::getRelativeVirtualAddress
uint32_t getRelativeVirtualAddress() const override
Definition: NativeRawSymbol.cpp:254
llvm::pdb::NativeRawSymbol::hasSecurityChecks
bool hasSecurityChecks() const override
Definition: NativeRawSymbol.cpp:523
llvm::pdb::NativeRawSymbol::isMSILCode
bool isMSILCode() const override
Definition: NativeRawSymbol.cpp:611
llvm::pdb::Variant
Definition: PDBTypes.h:411
llvm::GraphProgram::Name
Name
Definition: GraphWriter.h:50
llvm::pdb::NativeRawSymbol::getRank
uint32_t getRank() const override
Definition: NativeRawSymbol.cpp:242
llvm::pdb::NativeRawSymbol::hasAlloca
bool hasAlloca() const override
Definition: NativeRawSymbol.cpp:447
llvm::pdb::NativeRawSymbol::isAcceleratorGroupSharedLocal
bool isAcceleratorGroupSharedLocal() const override
Definition: NativeRawSymbol.cpp:535
llvm::pdb::NativeRawSymbol::getCount
uint32_t getCount() const override
Definition: NativeRawSymbol.cpp:153
llvm::pdb::NativeRawSymbol::isLTCG
bool isLTCG() const override
Definition: NativeRawSymbol.cpp:591
llvm::pdb::NativeRawSymbol::isSafeBuffers
bool isSafeBuffers() const override
Definition: NativeRawSymbol.cpp:671
llvm::pdb::NativeRawSymbol::isDataAligned
bool isDataAligned() const override
Definition: NativeRawSymbol.cpp:567
llvm::codeview::CPUType
CPUType
These values correspond to the CV_CPU_TYPE_e enumeration, and are documented here: https://msdn....
Definition: CodeView.h:75
llvm::pdb::NativeRawSymbol::getTextureSlot
uint32_t getTextureSlot() const override
Definition: NativeRawSymbol.cpp:309
llvm::pdb::NativeRawSymbol::getClassParentId
SymIndexId getClassParentId() const override
Definition: NativeRawSymbol.cpp:147
llvm::pdb::NativeRawSymbol::isUnreached
bool isUnreached() const override
Definition: NativeRawSymbol.cpp:703
llvm::pdb::NativeRawSymbol::dump
void dump(raw_ostream &OS, int Indent, PdbSymbolIdField ShowIdFields, PdbSymbolIdField RecurseIdFields) const override
Definition: NativeRawSymbol.cpp:21
llvm::pdb::NativeRawSymbol::findInlineFramesByRVA
std::unique_ptr< IPDBEnumSymbols > findInlineFramesByRVA(uint32_t RVA) const override
Definition: NativeRawSymbol.cpp:66
llvm::pdb::NativeRawSymbol::findChildrenByRVA
std::unique_ptr< IPDBEnumSymbols > findChildrenByRVA(PDB_SymType Type, StringRef Name, PDB_NameSearchFlags Flags, uint32_t RVA) const override
Definition: NativeRawSymbol.cpp:54
llvm::pdb::NativeRawSymbol::isCVTCIL
bool isCVTCIL() const override
Definition: NativeRawSymbol.cpp:555
llvm::pdb::NativeSession
Definition: NativeSession.h:32
llvm::pdb::NativeRawSymbol::isOptimizedAway
bool isOptimizedAway() const override
Definition: NativeRawSymbol.cpp:627
llvm::pdb::PdbSymbolIdField
PdbSymbolIdField
Definition: IPDBRawSymbol.h:24
llvm::pdb::NativeRawSymbol::getDataBytes
void getDataBytes(SmallVector< uint8_t, 32 > &Bytes) const override
Definition: NativeRawSymbol.cpp:96
llvm::pdb::NativeRawSymbol::hasCustomCallingConvention
bool hasCustomCallingConvention() const override
Definition: NativeRawSymbol.cpp:411
llvm::codeview::ThunkOrdinal
ThunkOrdinal
These values correspond to the THUNK_ORDINAL enumeration.
Definition: CodeView.h:553
llvm::pdb::PDB_MemberAccess
PDB_MemberAccess
Definition: PDBTypes.h:385
llvm::pdb::NativeRawSymbol::isInterfaceUdt
bool isInterfaceUdt() const override
Definition: NativeRawSymbol.cpp:583
llvm::pdb::NativeRawSymbol::isValueUdt
bool isValueUdt() const override
Definition: NativeRawSymbol.cpp:707
llvm::pdb::NativeRawSymbol::hasCTypes
bool hasCTypes() const override
Definition: NativeRawSymbol.cpp:455
llvm::pdb::NativeRawSymbol::getUavSlot
uint32_t getUavSlot() const override
Definition: NativeRawSymbol.cpp:323
llvm::pdb::NativeRawSymbol::NativeRawSymbol
NativeRawSymbol(NativeSession &PDBSession, PDB_SymType Tag, SymIndexId SymbolId)
Definition: NativeRawSymbol.cpp:17
llvm::pdb::NativeRawSymbol::hasNoReturnAttribute
bool hasNoReturnAttribute() const override
Definition: NativeRawSymbol.cpp:507
llvm::pdb::NativeRawSymbol::isScoped
bool isScoped() const override
Definition: NativeRawSymbol.cpp:675
llvm::pdb::NativeRawSymbol::findChildrenByVA
std::unique_ptr< IPDBEnumSymbols > findChildrenByVA(PDB_SymType Type, StringRef Name, PDB_NameSearchFlags Flags, uint64_t VA) const override
Definition: NativeRawSymbol.cpp:48
llvm::pdb::NativeRawSymbol::getLiveRangeStartAddressOffset
uint32_t getLiveRangeStartAddressOffset() const override
Definition: NativeRawSymbol.cpp:178
llvm::pdb::NativeRawSymbol::Tag
PDB_SymType Tag
Definition: NativeRawSymbol.h:233
llvm::codeview::CallingConvention
CallingConvention
These values correspond to the CV_call_e enumeration, and are documented at the following locations: ...
Definition: CodeView.h:175
llvm::pdb::NativeRawSymbol::findChildren
std::unique_ptr< IPDBEnumSymbols > findChildren(PDB_SymType Type) const override
Definition: NativeRawSymbol.cpp:31
llvm::pdb::NativeRawSymbol::getTimeStamp
uint32_t getTimeStamp() const override
Definition: NativeRawSymbol.cpp:313
llvm::pdb::NativeRawSymbol::isConstructorVirtualBase
bool isConstructorVirtualBase() const override
Definition: NativeRawSymbol.cpp:559
llvm::pdb::NativeRawSymbol::getUnmodifiedTypeId
SymIndexId getUnmodifiedTypeId() const override
Definition: NativeRawSymbol.cpp:336
llvm::pdb::NativeRawSymbol::SymbolId
SymIndexId SymbolId
Definition: NativeRawSymbol.h:234
llvm::pdb::NativeRawSymbol::Session
NativeSession & Session
Definition: NativeRawSymbol.h:232
llvm::pdb::NativeRawSymbol::hasSetJump
bool hasSetJump() const override
Definition: NativeRawSymbol.cpp:527
llvm::pdb::NativeRawSymbol::getOffset
int32_t getOffset() const override
Definition: NativeRawSymbol.cpp:367
llvm::pdb::NativeRawSymbol::isManagedCode
bool isManagedCode() const override
Definition: NativeRawSymbol.cpp:607
llvm::pdb::NativeRawSymbol::getPlatform
PDB_Cpu getPlatform() const override
Definition: NativeRawSymbol.cpp:238
llvm::pdb::NativeRawSymbol::getGuid
codeview::GUID getGuid() const override
Definition: NativeRawSymbol.cpp:365
llvm::pdb::IPDBRawSymbol
IPDBRawSymbol defines an interface used to represent an arbitrary symbol.
Definition: IPDBRawSymbol.h:45
llvm::pdb::NativeRawSymbol::getObjectFileName
std::string getObjectFileName() const override
Definition: NativeRawSymbol.cpp:224
llvm::pdb::NativeRawSymbol::isReturnValue
bool isReturnValue() const override
Definition: NativeRawSymbol.cpp:667
llvm::pdb::NativeRawSymbol::getAge
uint32_t getAge() const override
Definition: NativeRawSymbol.cpp:112
llvm::pdb::NativeRawSymbol::getNoStackOrdering
bool getNoStackOrdering() const override
Definition: NativeRawSymbol.cpp:443
llvm::pdb::NativeRawSymbol::getTargetSection
uint32_t getTargetSection() const override
Definition: NativeRawSymbol.cpp:305
llvm::pdb::NativeRawSymbol::hasLongJump
bool hasLongJump() const override
Definition: NativeRawSymbol.cpp:491
llvm::pdb::NativeRawSymbol::getName
std::string getName() const override
Definition: NativeRawSymbol.cpp:200
llvm::pdb::NativeRawSymbol
Definition: NativeRawSymbol.h:21
llvm::pdb::NativeRawSymbol::getBuiltinType
PDB_BuiltinType getBuiltinType() const override
Definition: NativeRawSymbol.cpp:135
llvm::pdb::NativeRawSymbol::hasFramePointer
bool hasFramePointer() const override
Definition: NativeRawSymbol.cpp:487
llvm::pdb::NativeRawSymbol::getCompilerName
std::string getCompilerName() const override
Definition: NativeRawSymbol.cpp:149
llvm::pdb::NativeRawSymbol::isEditAndContinueEnabled
bool isEditAndContinueEnabled() const override
Definition: NativeRawSymbol.cpp:431
llvm::pdb::NativeRawSymbol::hasNestedTypes
bool hasNestedTypes() const override
Definition: NativeRawSymbol.cpp:499