LLVM  14.0.0git
DIARawSymbol.h
Go to the documentation of this file.
1 //===- DIARawSymbol.h - DIA 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_DIA_DIARAWSYMBOL_H
10 #define LLVM_DEBUGINFO_PDB_DIA_DIARAWSYMBOL_H
11 
12 #include "DIASupport.h"
14 
15 namespace llvm {
16 namespace pdb {
17 class DIASession;
18 class DIARawSymbol : public IPDBRawSymbol {
19 public:
20  DIARawSymbol(const DIASession &PDBSession, CComPtr<IDiaSymbol> DiaSymbol);
21 
22  void dump(raw_ostream &OS, int Indent, PdbSymbolIdField ShowIdFields,
23  PdbSymbolIdField RecurseIdFields) const override;
24 
25  CComPtr<IDiaSymbol> getDiaSymbol() const { return Symbol; }
26 
27  std::unique_ptr<IPDBEnumSymbols>
28  findChildren(PDB_SymType Type) const override;
29  std::unique_ptr<IPDBEnumSymbols>
31  PDB_NameSearchFlags Flags) const override;
32  std::unique_ptr<IPDBEnumSymbols>
34  PDB_NameSearchFlags Flags,
35  uint32_t Section, uint32_t Offset) const override;
36  std::unique_ptr<IPDBEnumSymbols>
38  uint64_t VA) const override;
39  std::unique_ptr<IPDBEnumSymbols>
41  uint32_t RVA) const override;
42 
43  std::unique_ptr<IPDBEnumSymbols>
45  std::unique_ptr<IPDBEnumSymbols>
46  findInlineFramesByRVA(uint32_t RVA) const override;
47  std::unique_ptr<IPDBEnumSymbols>
48  findInlineFramesByVA(uint64_t VA) const override;
49 
50  std::unique_ptr<IPDBEnumLineNumbers> findInlineeLines() const override;
51  std::unique_ptr<IPDBEnumLineNumbers>
53  uint32_t Length) const override;
54  std::unique_ptr<IPDBEnumLineNumbers>
55  findInlineeLinesByRVA(uint32_t RVA, uint32_t Length) const override;
56  std::unique_ptr<IPDBEnumLineNumbers>
57  findInlineeLinesByVA(uint64_t VA, uint32_t Length) const override;
58 
59  void getDataBytes(llvm::SmallVector<uint8_t, 32> &bytes) const override;
60  void getFrontEndVersion(VersionInfo &Version) const override;
61  void getBackEndVersion(VersionInfo &Version) const override;
62  PDB_MemberAccess getAccess() const override;
63  uint32_t getAddressOffset() const override;
64  uint32_t getAddressSection() const override;
65  uint32_t getAge() const override;
66  SymIndexId getArrayIndexTypeId() const override;
67  uint32_t getBaseDataOffset() const override;
68  uint32_t getBaseDataSlot() const override;
69  SymIndexId getBaseSymbolId() const override;
70  PDB_BuiltinType getBuiltinType() const override;
71  uint32_t getBitPosition() const override;
72  PDB_CallingConv getCallingConvention() const override;
73  SymIndexId getClassParentId() const override;
74  std::string getCompilerName() const override;
75  uint32_t getCount() const override;
76  uint32_t getCountLiveRanges() const override;
77  PDB_Lang getLanguage() const override;
78  SymIndexId getLexicalParentId() const override;
79  std::string getLibraryName() const override;
84  SymIndexId getLowerBoundId() const override;
85  uint32_t getMemorySpaceKind() const override;
86  std::string getName() const override;
88  uint32_t getNumberOfColumns() const override;
89  uint32_t getNumberOfModifiers() const override;
90  uint32_t getNumberOfRegisterIndices() const override;
91  uint32_t getNumberOfRows() const override;
92  std::string getObjectFileName() const override;
93  uint32_t getOemId() const override;
94  SymIndexId getOemSymbolId() const override;
95  uint32_t getOffsetInUdt() const override;
96  PDB_Cpu getPlatform() const override;
97  uint32_t getRank() const override;
98  codeview::RegisterId getRegisterId() const override;
99  uint32_t getRegisterType() const override;
100  uint32_t getRelativeVirtualAddress() const override;
101  uint32_t getSamplerSlot() const override;
102  uint32_t getSignature() const override;
103  uint32_t getSizeInUdt() const override;
104  uint32_t getSlot() const override;
105  std::string getSourceFileName() const override;
106  std::unique_ptr<IPDBLineNumber> getSrcLineOnTypeDefn() const override;
107  uint32_t getStride() const override;
108  SymIndexId getSubTypeId() const override;
109  std::string getSymbolsFileName() const override;
110  SymIndexId getSymIndexId() const override;
111  uint32_t getTargetOffset() const override;
112  uint32_t getTargetRelativeVirtualAddress() const override;
113  uint64_t getTargetVirtualAddress() const override;
114  uint32_t getTargetSection() const override;
115  uint32_t getTextureSlot() const override;
116  uint32_t getTimeStamp() const override;
117  uint32_t getToken() const override;
118  SymIndexId getTypeId() const override;
119  uint32_t getUavSlot() const override;
120  std::string getUndecoratedName() const override;
121  std::string getUndecoratedNameEx(PDB_UndnameFlags Flags) const override;
122  SymIndexId getUnmodifiedTypeId() const override;
123  SymIndexId getUpperBoundId() const override;
124  Variant getValue() const override;
125  uint32_t getVirtualBaseDispIndex() const override;
126  uint32_t getVirtualBaseOffset() const override;
127  SymIndexId getVirtualTableShapeId() const override;
128  std::unique_ptr<PDBSymbolTypeBuiltin>
129  getVirtualBaseTableType() const override;
130  PDB_DataKind getDataKind() const override;
131  PDB_SymType getSymTag() const override;
132  codeview::GUID getGuid() const override;
133  int32_t getOffset() const override;
134  int32_t getThisAdjust() const override;
135  int32_t getVirtualBasePointerOffset() const override;
136  PDB_LocType getLocationType() const override;
137  PDB_Machine getMachineType() const override;
138  codeview::ThunkOrdinal getThunkOrdinal() const override;
139  uint64_t getLength() const override;
140  uint64_t getLiveRangeLength() const override;
141  uint64_t getVirtualAddress() const override;
142  PDB_UdtType getUdtKind() const override;
143  bool hasConstructor() const override;
144  bool hasCustomCallingConvention() const override;
145  bool hasFarReturn() const override;
146  bool isCode() const override;
147  bool isCompilerGenerated() const override;
148  bool isConstType() const override;
149  bool isEditAndContinueEnabled() const override;
150  bool isFunction() const override;
151  bool getAddressTaken() const override;
152  bool getNoStackOrdering() const override;
153  bool hasAlloca() const override;
154  bool hasAssignmentOperator() const override;
155  bool hasCTypes() const override;
156  bool hasCastOperator() const override;
157  bool hasDebugInfo() const override;
158  bool hasEH() const override;
159  bool hasEHa() const override;
160  bool hasInlAsm() const override;
161  bool hasInlineAttribute() const override;
162  bool hasInterruptReturn() const override;
163  bool hasFramePointer() const override;
164  bool hasLongJump() const override;
165  bool hasManagedCode() const override;
166  bool hasNestedTypes() const override;
167  bool hasNoInlineAttribute() const override;
168  bool hasNoReturnAttribute() const override;
169  bool hasOptimizedCodeDebugInfo() const override;
170  bool hasOverloadedOperator() const override;
171  bool hasSEH() const override;
172  bool hasSecurityChecks() const override;
173  bool hasSetJump() const override;
174  bool hasStrictGSCheck() const override;
175  bool isAcceleratorGroupSharedLocal() const override;
176  bool isAcceleratorPointerTagLiveRange() const override;
177  bool isAcceleratorStubFunction() const override;
178  bool isAggregated() const override;
179  bool isIntroVirtualFunction() const override;
180  bool isCVTCIL() const override;
181  bool isConstructorVirtualBase() const override;
182  bool isCxxReturnUdt() const override;
183  bool isDataAligned() const override;
184  bool isHLSLData() const override;
185  bool isHotpatchable() const override;
186  bool isIndirectVirtualBaseClass() const override;
187  bool isInterfaceUdt() const override;
188  bool isIntrinsic() const override;
189  bool isLTCG() const override;
190  bool isLocationControlFlowDependent() const override;
191  bool isMSILNetmodule() const override;
192  bool isMatrixRowMajor() const override;
193  bool isManagedCode() const override;
194  bool isMSILCode() const override;
195  bool isMultipleInheritance() const override;
196  bool isNaked() const override;
197  bool isNested() const override;
198  bool isOptimizedAway() const override;
199  bool isPacked() const override;
200  bool isPointerBasedOnSymbolValue() const override;
201  bool isPointerToDataMember() const override;
202  bool isPointerToMemberFunction() const override;
203  bool isPureVirtual() const override;
204  bool isRValueReference() const override;
205  bool isRefUdt() const override;
206  bool isReference() const override;
207  bool isRestrictedType() const override;
208  bool isReturnValue() const override;
209  bool isSafeBuffers() const override;
210  bool isScoped() const override;
211  bool isSdl() const override;
212  bool isSingleInheritance() const override;
213  bool isSplitted() const override;
214  bool isStatic() const override;
215  bool hasPrivateSymbols() const override;
216  bool isUnalignedType() const override;
217  bool isUnreached() const override;
218  bool isValueUdt() const override;
219  bool isVirtual() const override;
220  bool isVirtualBaseClass() const override;
221  bool isVirtualInheritance() const override;
222  bool isVolatileType() const override;
223  bool wasInlined() const override;
224  std::string getUnused() const override;
225 
226 private:
227  const DIASession &Session;
228  CComPtr<IDiaSymbol> Symbol;
229 };
230 }
231 }
232 
233 #endif
llvm::pdb::DIARawSymbol::getNumberOfRegisterIndices
uint32_t getNumberOfRegisterIndices() const override
Definition: DIARawSymbol.cpp:709
llvm::pdb::DIARawSymbol::getUdtKind
PDB_UdtType getUdtKind() const override
Definition: DIARawSymbol.cpp:933
llvm::pdb::DIARawSymbol::hasCustomCallingConvention
bool hasCustomCallingConvention() const override
Definition: DIARawSymbol.cpp:942
DIASupport.h
llvm::pdb::DIARawSymbol::isMSILNetmodule
bool isMSILNetmodule() const override
Definition: DIARawSymbol.cpp:1133
llvm::pdb::DIARawSymbol::hasAssignmentOperator
bool hasAssignmentOperator() const override
Definition: DIARawSymbol.cpp:982
llvm::pdb::DIARawSymbol::getUndecoratedName
std::string getUndecoratedName() const override
Definition: DIARawSymbol.cpp:835
llvm::pdb::DIARawSymbol::getTargetOffset
uint32_t getTargetOffset() const override
Definition: DIARawSymbol.cpp:798
llvm::pdb::DIARawSymbol::findInlineFramesByRVA
std::unique_ptr< IPDBEnumSymbols > findInlineFramesByRVA(uint32_t RVA) const override
Definition: DIARawSymbol.cpp:496
llvm::pdb::DIARawSymbol::isConstructorVirtualBase
bool isConstructorVirtualBase() const override
Definition: DIARawSymbol.cpp:1092
llvm
This file implements support for optimizing divisions by a constant.
Definition: AllocatorList.h:23
llvm::pdb::DIARawSymbol::getLiveRangeLength
uint64_t getLiveRangeLength() const override
Definition: DIARawSymbol.cpp:925
llvm::pdb::DIARawSymbol::hasEH
bool hasEH() const override
Definition: DIARawSymbol.cpp:998
llvm::pdb::DIARawSymbol::getAddressSection
uint32_t getAddressSection() const override
Definition: DIARawSymbol.cpp:584
llvm::pdb::DIARawSymbol::isFunction
bool isFunction() const override
Definition: DIARawSymbol.cpp:966
llvm::pdb::DIARawSymbol::hasSetJump
bool hasSetJump() const override
Definition: DIARawSymbol.cpp:1058
llvm::pdb::DIARawSymbol::getOffsetInUdt
uint32_t getOffsetInUdt() const override
Definition: DIARawSymbol.cpp:729
llvm::pdb::DIARawSymbol::findInlineFramesByAddr
std::unique_ptr< IPDBEnumSymbols > findInlineFramesByAddr(uint32_t Section, uint32_t Offset) const override
Definition: DIARawSymbol.cpp:487
llvm::pdb::DIARawSymbol::getToken
uint32_t getToken() const override
Definition: DIARawSymbol.cpp:823
llvm::pdb::DIARawSymbol::hasStrictGSCheck
bool hasStrictGSCheck() const override
Definition: DIARawSymbol.cpp:1062
llvm::pdb::DIARawSymbol::getMemorySpaceKind
uint32_t getMemorySpaceKind() const override
Definition: DIARawSymbol.cpp:688
llvm::pdb::DIARawSymbol::isAcceleratorGroupSharedLocal
bool isAcceleratorGroupSharedLocal() const override
Definition: DIARawSymbol.cpp:1066
llvm::pdb::DIARawSymbol::findInlineeLinesByRVA
std::unique_ptr< IPDBEnumLineNumbers > findInlineeLinesByRVA(uint32_t RVA, uint32_t Length) const override
Definition: DIARawSymbol.cpp:533
llvm::pdb::DIARawSymbol::getName
std::string getName() const override
Definition: DIARawSymbol.cpp:692
llvm::pdb::DIARawSymbol::getNumberOfModifiers
uint32_t getNumberOfModifiers() const override
Definition: DIARawSymbol.cpp:705
llvm::pdb::DIARawSymbol::isIntrinsic
bool isIntrinsic() const override
Definition: DIARawSymbol.cpp:1120
llvm::pdb::DIARawSymbol::isLTCG
bool isLTCG() const override
Definition: DIARawSymbol.cpp:1124
llvm::pdb::DIARawSymbol::getTargetSection
uint32_t getTargetSection() const override
Definition: DIARawSymbol.cpp:811
llvm::pdb::DIARawSymbol::getSizeInUdt
uint32_t getSizeInUdt() const override
Definition: DIARawSymbol.cpp:762
llvm::pdb::DIARawSymbol::getRank
uint32_t getRank() const override
Definition: DIARawSymbol.cpp:737
IPDBRawSymbol.h
llvm::pdb::DIARawSymbol::isReturnValue
bool isReturnValue() const override
Definition: DIARawSymbol.cpp:1202
llvm::pdb::DIARawSymbol::isRestrictedType
bool isRestrictedType() const override
Definition: DIARawSymbol.cpp:1198
llvm::pdb::DIARawSymbol::getNumberOfColumns
uint32_t getNumberOfColumns() const override
Definition: DIARawSymbol.cpp:701
llvm::pdb::DIARawSymbol::getUpperBoundId
SymIndexId getUpperBoundId() const override
Definition: DIARawSymbol.cpp:843
llvm::SmallVector< uint8_t, 32 >
llvm::pdb::DIARawSymbol::getGuid
codeview::GUID getGuid() const override
Definition: DIARawSymbol.cpp:890
llvm::pdb::DIARawSymbol::isCode
bool isCode() const override
Definition: DIARawSymbol.cpp:950
llvm::pdb::DIARawSymbol::isOptimizedAway
bool isOptimizedAway() const override
Definition: DIARawSymbol.cpp:1161
llvm::pdb::DIARawSymbol::getBaseDataOffset
uint32_t getBaseDataOffset() const override
Definition: DIARawSymbol.cpp:603
llvm::codeview::GUID
This represents the 'GUID' type from windows.h.
Definition: GUID.h:21
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::DIARawSymbol::isIndirectVirtualBaseClass
bool isIndirectVirtualBaseClass() const override
Definition: DIARawSymbol.cpp:1112
llvm::pdb::DIASession
Definition: DIASession.h:22
llvm::pdb::DIARawSymbol::isLocationControlFlowDependent
bool isLocationControlFlowDependent() const override
Definition: DIARawSymbol.cpp:1128
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::DIARawSymbol::hasInlineAttribute
bool hasInlineAttribute() const override
Definition: DIARawSymbol.cpp:1010
llvm::pdb::DIARawSymbol::getUndecoratedNameEx
std::string getUndecoratedNameEx(PDB_UndnameFlags Flags) const override
Definition: DIARawSymbol.cpp:562
llvm::Type
The instances of the Type class are immutable: once they are created, they are never changed.
Definition: Type.h:45
llvm::pdb::DIARawSymbol::isSplitted
bool isSplitted() const override
Definition: DIARawSymbol.cpp:1222
llvm::pdb::DIARawSymbol::hasInlAsm
bool hasInlAsm() const override
Definition: DIARawSymbol.cpp:1006
llvm::pdb::DIARawSymbol::isMultipleInheritance
bool isMultipleInheritance() const override
Definition: DIARawSymbol.cpp:1149
llvm::pdb::DIARawSymbol::isAcceleratorStubFunction
bool isAcceleratorStubFunction() const override
Definition: DIARawSymbol.cpp:1076
llvm::pdb::DIARawSymbol::getTypeId
SymIndexId getTypeId() const override
Definition: DIARawSymbol.cpp:827
llvm::pdb::DIARawSymbol::getOemId
uint32_t getOemId() const override
Definition: DIARawSymbol.cpp:721
Offset
uint64_t Offset
Definition: ELFObjHandler.cpp:81
llvm::pdb::VersionInfo
Definition: PDBTypes.h:386
llvm::pdb::DIARawSymbol::getLowerBoundId
SymIndexId getLowerBoundId() const override
Definition: DIARawSymbol.cpp:684
llvm::pdb::DIARawSymbol::hasOptimizedCodeDebugInfo
bool hasOptimizedCodeDebugInfo() const override
Definition: DIARawSymbol.cpp:1042
llvm::pdb::DIARawSymbol::hasOverloadedOperator
bool hasOverloadedOperator() const override
Definition: DIARawSymbol.cpp:1046
llvm::pdb::DIARawSymbol::isUnalignedType
bool isUnalignedType() const override
Definition: DIARawSymbol.cpp:1236
llvm::pdb::DIARawSymbol::isIntroVirtualFunction
bool isIntroVirtualFunction() const override
Definition: DIARawSymbol.cpp:1084
llvm::pdb::DIARawSymbol::getClassParentId
SymIndexId getClassParentId() const override
Definition: DIARawSymbol.cpp:629
llvm::pdb::DIARawSymbol::getThunkOrdinal
codeview::ThunkOrdinal getThunkOrdinal() const override
Definition: DIARawSymbol.cpp:916
llvm::pdb::DIARawSymbol::DIARawSymbol
DIARawSymbol(const DIASession &PDBSession, CComPtr< IDiaSymbol > DiaSymbol)
Definition: DIARawSymbol.cpp:200
llvm::pdb::DIARawSymbol::isVirtualBaseClass
bool isVirtualBaseClass() const override
Definition: DIARawSymbol.cpp:1252
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::DIARawSymbol::getCompilerName
std::string getCompilerName() const override
Definition: DIARawSymbol.cpp:633
llvm::pdb::DIARawSymbol::getTargetVirtualAddress
uint64_t getTargetVirtualAddress() const override
Definition: DIARawSymbol.cpp:807
llvm::pdb::DIARawSymbol::findChildren
std::unique_ptr< IPDBEnumSymbols > findChildren(PDB_SymType Type) const override
Definition: DIARawSymbol.cpp:398
llvm::pdb::DIARawSymbol::hasManagedCode
bool hasManagedCode() const override
Definition: DIARawSymbol.cpp:1026
llvm::ARMBuildAttrs::Section
@ Section
Legacy Tags.
Definition: ARMBuildAttributes.h:78
llvm::pdb::DIARawSymbol::getUavSlot
uint32_t getUavSlot() const override
Definition: DIARawSymbol.cpp:831
llvm::pdb::DIARawSymbol::getLiveRangeStartAddressOffset
uint32_t getLiveRangeStartAddressOffset() const override
Definition: DIARawSymbol.cpp:664
llvm::pdb::DIARawSymbol::isPacked
bool isPacked() const override
Definition: DIARawSymbol.cpp:1165
llvm::pdb::DIARawSymbol::getDataKind
PDB_DataKind getDataKind() const override
Definition: DIARawSymbol.cpp:880
llvm::pdb::DIARawSymbol::hasCTypes
bool hasCTypes() const override
Definition: DIARawSymbol.cpp:986
llvm::pdb::DIARawSymbol::getLanguage
PDB_Lang getLanguage() const override
Definition: DIARawSymbol.cpp:652
llvm::pdb::DIARawSymbol::isNaked
bool isNaked() const override
Definition: DIARawSymbol.cpp:1153
llvm::pdb::DIARawSymbol::isPointerToMemberFunction
bool isPointerToMemberFunction() const override
Definition: DIARawSymbol.cpp:1178
llvm::pdb::SymIndexId
uint32_t SymIndexId
Definition: PDBTypes.h:26
llvm::pdb::DIARawSymbol::isMSILCode
bool isMSILCode() const override
Definition: DIARawSymbol.cpp:1145
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::DIARawSymbol::getBaseDataSlot
uint32_t getBaseDataSlot() const override
Definition: DIARawSymbol.cpp:607
llvm::pdb::DIARawSymbol::getLiveRangeStartAddressSection
uint32_t getLiveRangeStartAddressSection() const override
Definition: DIARawSymbol.cpp:669
llvm::pdb::DIARawSymbol::isCVTCIL
bool isCVTCIL() const override
Definition: DIARawSymbol.cpp:1088
llvm::pdb::DIARawSymbol::getCallingConvention
PDB_CallingConv getCallingConvention() const override
Definition: DIARawSymbol.cpp:624
llvm::pdb::DIARawSymbol::hasAlloca
bool hasAlloca() const override
Definition: DIARawSymbol.cpp:978
llvm::pdb::DIARawSymbol::hasEHa
bool hasEHa() const override
Definition: DIARawSymbol.cpp:1002
llvm::pdb::DIARawSymbol::findInlineeLinesByAddr
std::unique_ptr< IPDBEnumLineNumbers > findInlineeLinesByAddr(uint32_t Section, uint32_t Offset, uint32_t Length) const override
Definition: DIARawSymbol.cpp:522
llvm::pdb::DIARawSymbol::isInterfaceUdt
bool isInterfaceUdt() const override
Definition: DIARawSymbol.cpp:1116
llvm::pdb::DIARawSymbol::isCompilerGenerated
bool isCompilerGenerated() const override
Definition: DIARawSymbol.cpp:954
llvm::pdb::DIARawSymbol::isManagedCode
bool isManagedCode() const override
Definition: DIARawSymbol.cpp:1141
llvm::pdb::DIARawSymbol::getBackEndVersion
void getBackEndVersion(VersionInfo &Version) const override
Definition: DIARawSymbol.cpp:596
llvm::pdb::DIARawSymbol::findChildrenByAddr
std::unique_ptr< IPDBEnumSymbols > findChildrenByAddr(PDB_SymType Type, StringRef Name, PDB_NameSearchFlags Flags, uint32_t Section, uint32_t Offset) const override
Definition: DIARawSymbol.cpp:430
llvm::pdb::DIARawSymbol::getFrontEndVersion
void getFrontEndVersion(VersionInfo &Version) const override
Definition: DIARawSymbol.cpp:645
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::DIARawSymbol::isEditAndContinueEnabled
bool isEditAndContinueEnabled() const override
Definition: DIARawSymbol.cpp:962
llvm::pdb::PDB_NameSearchFlags
PDB_NameSearchFlags
Defines flags used for enumerating child symbols.
Definition: PDBTypes.h:102
llvm::IndexedInstrProf::Version
const uint64_t Version
Definition: InstrProf.h:991
llvm::pdb::DIARawSymbol::isSafeBuffers
bool isSafeBuffers() const override
Definition: DIARawSymbol.cpp:1206
llvm::pdb::DIARawSymbol::isMatrixRowMajor
bool isMatrixRowMajor() const override
Definition: DIARawSymbol.cpp:1137
llvm::pdb::DIARawSymbol::isCxxReturnUdt
bool isCxxReturnUdt() const override
Definition: DIARawSymbol.cpp:1096
llvm::pdb::DIARawSymbol::getNumberOfAcceleratorPointerTags
uint32_t getNumberOfAcceleratorPointerTags() const override
Definition: DIARawSymbol.cpp:696
llvm::pdb::DIARawSymbol::getUnused
std::string getUnused() const override
Definition: DIARawSymbol.cpp:1268
llvm::pdb::DIARawSymbol::isPointerBasedOnSymbolValue
bool isPointerBasedOnSymbolValue() const override
Definition: DIARawSymbol.cpp:1169
llvm::pdb::DIARawSymbol::getAccess
PDB_MemberAccess getAccess() const override
Definition: DIARawSymbol.cpp:575
llvm::pdb::DIARawSymbol::hasInterruptReturn
bool hasInterruptReturn() const override
Definition: DIARawSymbol.cpp:1014
llvm::pdb::DIARawSymbol::hasCastOperator
bool hasCastOperator() const override
Definition: DIARawSymbol.cpp:990
llvm::pdb::DIARawSymbol::getCountLiveRanges
uint32_t getCountLiveRanges() const override
Definition: DIARawSymbol.cpp:641
llvm::pdb::DIARawSymbol::hasLongJump
bool hasLongJump() const override
Definition: DIARawSymbol.cpp:1022
llvm::pdb::DIARawSymbol::getAge
uint32_t getAge() const override
Definition: DIARawSymbol.cpp:588
llvm::pdb::DIARawSymbol::isRefUdt
bool isRefUdt() const override
Definition: DIARawSymbol.cpp:1190
llvm::pdb::DIARawSymbol::hasConstructor
bool hasConstructor() const override
Definition: DIARawSymbol.cpp:938
llvm::pdb::DIARawSymbol::getTargetRelativeVirtualAddress
uint32_t getTargetRelativeVirtualAddress() const override
Definition: DIARawSymbol.cpp:802
llvm::pdb::DIARawSymbol::isScoped
bool isScoped() const override
Definition: DIARawSymbol.cpp:1210
llvm::pdb::DIARawSymbol::isDataAligned
bool isDataAligned() const override
Definition: DIARawSymbol.cpp:1100
llvm::pdb::DIARawSymbol::dump
void dump(raw_ostream &OS, int Indent, PdbSymbolIdField ShowIdFields, PdbSymbolIdField RecurseIdFields) const override
Definition: DIARawSymbol.cpp:218
llvm::pdb::DIARawSymbol::getArrayIndexTypeId
SymIndexId getArrayIndexTypeId() const override
Definition: DIARawSymbol.cpp:592
uint64_t
llvm::pdb::DIARawSymbol::getUnmodifiedTypeId
SymIndexId getUnmodifiedTypeId() const override
Definition: DIARawSymbol.cpp:839
llvm::pdb::DIARawSymbol::getSymIndexId
SymIndexId getSymIndexId() const override
Definition: DIARawSymbol.cpp:794
llvm::pdb::DIARawSymbol::hasFarReturn
bool hasFarReturn() const override
Definition: DIARawSymbol.cpp:946
llvm::pdb::DIARawSymbol::hasNoInlineAttribute
bool hasNoInlineAttribute() const override
Definition: DIARawSymbol.cpp:1034
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:361
llvm::pdb::DIARawSymbol::getBaseSymbolId
SymIndexId getBaseSymbolId() const override
Definition: DIARawSymbol.cpp:611
llvm::pdb::DIARawSymbol::getSlot
uint32_t getSlot() const override
Definition: DIARawSymbol.cpp:766
llvm::pdb::DIARawSymbol::getSamplerSlot
uint32_t getSamplerSlot() const override
Definition: DIARawSymbol.cpp:754
llvm::pdb::DIARawSymbol::isAggregated
bool isAggregated() const override
Definition: DIARawSymbol.cpp:1080
llvm::pdb::DIARawSymbol::getMachineType
PDB_Machine getMachineType() const override
Definition: DIARawSymbol.cpp:911
llvm::pdb::DIARawSymbol::getSourceFileName
std::string getSourceFileName() const override
Definition: DIARawSymbol.cpp:770
llvm::pdb::DIARawSymbol::getSymbolsFileName
std::string getSymbolsFileName() const override
Definition: DIARawSymbol.cpp:790
llvm::pdb::DIARawSymbol::getSignature
uint32_t getSignature() const override
Definition: DIARawSymbol.cpp:758
llvm::pdb::DIARawSymbol::hasPrivateSymbols
bool hasPrivateSymbols() const override
Definition: DIARawSymbol.cpp:1230
llvm::codeview::RegisterId
RegisterId
Definition: CodeView.h:517
llvm::pdb::DIARawSymbol::isConstType
bool isConstType() const override
Definition: DIARawSymbol.cpp:958
llvm::pdb::DIARawSymbol::isNested
bool isNested() const override
Definition: DIARawSymbol.cpp:1157
llvm::pdb::DIARawSymbol::getThisAdjust
int32_t getThisAdjust() const override
Definition: DIARawSymbol.cpp:898
llvm::pdb::DIARawSymbol::getDiaSymbol
CComPtr< IDiaSymbol > getDiaSymbol() const
Definition: DIARawSymbol.h:25
llvm::codeview::SourceLanguage
SourceLanguage
These values correspond to the CV_CFL_LANG enumeration, and are documented here: https://msdn....
Definition: CodeView.h:146
llvm::pdb::DIARawSymbol::getOffset
int32_t getOffset() const override
Definition: DIARawSymbol.cpp:894
llvm::pdb::DIARawSymbol::getTimeStamp
uint32_t getTimeStamp() const override
Definition: DIARawSymbol.cpp:819
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:58
llvm::pdb::DIARawSymbol::isReference
bool isReference() const override
Definition: DIARawSymbol.cpp:1194
llvm::pdb::DIARawSymbol::getLexicalParentId
SymIndexId getLexicalParentId() const override
Definition: DIARawSymbol.cpp:656
uint32_t
llvm::pdb::DIARawSymbol::findChildrenByRVA
std::unique_ptr< IPDBEnumSymbols > findChildrenByRVA(PDB_SymType Type, StringRef Name, PDB_NameSearchFlags Flags, uint32_t RVA) const override
Definition: DIARawSymbol.cpp:469
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::DIARawSymbol::isVirtualInheritance
bool isVirtualInheritance() const override
Definition: DIARawSymbol.cpp:1256
llvm::pdb::DIARawSymbol::getSubTypeId
SymIndexId getSubTypeId() const override
Definition: DIARawSymbol.cpp:786
llvm::pdb::DIARawSymbol::getNoStackOrdering
bool getNoStackOrdering() const override
Definition: DIARawSymbol.cpp:974
llvm::pdb::DIARawSymbol::getVirtualBaseOffset
uint32_t getVirtualBaseOffset() const override
Definition: DIARawSymbol.cpp:860
llvm::pdb::DIARawSymbol::hasSEH
bool hasSEH() const override
Definition: DIARawSymbol.cpp:1050
llvm::pdb::DIARawSymbol::getVirtualTableShapeId
SymIndexId getVirtualTableShapeId() const override
Definition: DIARawSymbol.cpp:864
llvm::pdb::DIARawSymbol::getRelativeVirtualAddress
uint32_t getRelativeVirtualAddress() const override
Definition: DIARawSymbol.cpp:750
llvm::pdb::DIARawSymbol::findInlineeLines
std::unique_ptr< IPDBEnumLineNumbers > findInlineeLines() const override
Definition: DIARawSymbol.cpp:513
llvm::pdb::DIARawSymbol::getRegisterId
codeview::RegisterId getRegisterId() const override
Definition: DIARawSymbol.cpp:741
llvm::pdb::DIARawSymbol::getBitPosition
uint32_t getBitPosition() const override
Definition: DIARawSymbol.cpp:620
llvm::pdb::DIARawSymbol::hasNoReturnAttribute
bool hasNoReturnAttribute() const override
Definition: DIARawSymbol.cpp:1038
llvm::pdb::Variant
Definition: PDBTypes.h:410
llvm::pdb::DIARawSymbol::isValueUdt
bool isValueUdt() const override
Definition: DIARawSymbol.cpp:1244
llvm::pdb::DIARawSymbol::getStride
uint32_t getStride() const override
Definition: DIARawSymbol.cpp:782
llvm::GraphProgram::Name
Name
Definition: GraphWriter.h:52
llvm::pdb::DIARawSymbol::getSymTag
PDB_SymType getSymTag() const override
Definition: DIARawSymbol.cpp:885
llvm::pdb::DIARawSymbol::isStatic
bool isStatic() const override
Definition: DIARawSymbol.cpp:1226
llvm::pdb::DIARawSymbol::isSingleInheritance
bool isSingleInheritance() const override
Definition: DIARawSymbol.cpp:1218
llvm::pdb::DIARawSymbol::getOemSymbolId
SymIndexId getOemSymbolId() const override
Definition: DIARawSymbol.cpp:725
llvm::pdb::DIARawSymbol::isHotpatchable
bool isHotpatchable() const override
Definition: DIARawSymbol.cpp:1108
llvm::codeview::CPUType
CPUType
These values correspond to the CV_CPU_TYPE_e enumeration, and are documented here: https://msdn....
Definition: CodeView.h:78
llvm::pdb::DIARawSymbol
Definition: DIARawSymbol.h:18
llvm::pdb::DIARawSymbol::isRValueReference
bool isRValueReference() const override
Definition: DIARawSymbol.cpp:1186
llvm::pdb::DIARawSymbol::isUnreached
bool isUnreached() const override
Definition: DIARawSymbol.cpp:1240
llvm::pdb::PdbSymbolIdField
PdbSymbolIdField
Definition: IPDBRawSymbol.h:24
llvm::pdb::DIARawSymbol::isHLSLData
bool isHLSLData() const override
Definition: DIARawSymbol.cpp:1104
llvm::pdb::DIARawSymbol::isVirtual
bool isVirtual() const override
Definition: DIARawSymbol.cpp:1248
llvm::codeview::ThunkOrdinal
ThunkOrdinal
These values correspond to the THUNK_ORDINAL enumeration.
Definition: CodeView.h:551
llvm::pdb::PDB_MemberAccess
PDB_MemberAccess
Definition: PDBTypes.h:384
llvm::pdb::DIARawSymbol::getAddressOffset
uint32_t getAddressOffset() const override
Definition: DIARawSymbol.cpp:580
llvm::pdb::DIARawSymbol::getAddressTaken
bool getAddressTaken() const override
Definition: DIARawSymbol.cpp:970
llvm::pdb::DIARawSymbol::hasDebugInfo
bool hasDebugInfo() const override
Definition: DIARawSymbol.cpp:994
llvm::pdb::DIARawSymbol::getLocationType
PDB_LocType getLocationType() const override
Definition: DIARawSymbol.cpp:906
llvm::pdb::DIARawSymbol::getTextureSlot
uint32_t getTextureSlot() const override
Definition: DIARawSymbol.cpp:815
llvm::pdb::DIARawSymbol::wasInlined
bool wasInlined() const override
Definition: DIARawSymbol.cpp:1264
llvm::pdb::DIARawSymbol::isPureVirtual
bool isPureVirtual() const override
Definition: DIARawSymbol.cpp:1182
llvm::codeview::CallingConvention
CallingConvention
These values correspond to the CV_call_e enumeration, and are documented at the following locations: ...
Definition: CodeView.h:176
llvm::pdb::DIARawSymbol::isAcceleratorPointerTagLiveRange
bool isAcceleratorPointerTagLiveRange() const override
Definition: DIARawSymbol.cpp:1071
llvm::pdb::DIARawSymbol::getValue
Variant getValue() const override
Definition: DIARawSymbol.cpp:847
llvm::pdb::DIARawSymbol::getObjectFileName
std::string getObjectFileName() const override
Definition: DIARawSymbol.cpp:717
llvm::pdb::DIARawSymbol::getSrcLineOnTypeDefn
std::unique_ptr< IPDBLineNumber > getSrcLineOnTypeDefn() const override
Definition: DIARawSymbol.cpp:774
llvm::pdb::DIARawSymbol::findInlineeLinesByVA
std::unique_ptr< IPDBEnumLineNumbers > findInlineeLinesByVA(uint64_t VA, uint32_t Length) const override
Definition: DIARawSymbol.cpp:542
llvm::pdb::DIARawSymbol::getBuiltinType
PDB_BuiltinType getBuiltinType() const override
Definition: DIARawSymbol.cpp:615
llvm::pdb::DIARawSymbol::getVirtualAddress
uint64_t getVirtualAddress() const override
Definition: DIARawSymbol.cpp:929
llvm::pdb::DIARawSymbol::getRegisterType
uint32_t getRegisterType() const override
Definition: DIARawSymbol.cpp:746
llvm::pdb::DIARawSymbol::getLocalBasePointerRegisterId
codeview::RegisterId getLocalBasePointerRegisterId() const override
Definition: DIARawSymbol.cpp:679
llvm::pdb::DIARawSymbol::getLength
uint64_t getLength() const override
Definition: DIARawSymbol.cpp:921
llvm::pdb::DIARawSymbol::getPlatform
PDB_Cpu getPlatform() const override
Definition: DIARawSymbol.cpp:733
llvm::pdb::DIARawSymbol::findChildrenByVA
std::unique_ptr< IPDBEnumSymbols > findChildrenByVA(PDB_SymType Type, StringRef Name, PDB_NameSearchFlags Flags, uint64_t VA) const override
Definition: DIARawSymbol.cpp:450
llvm::pdb::DIARawSymbol::getCount
uint32_t getCount() const override
Definition: DIARawSymbol.cpp:637
llvm::pdb::IPDBRawSymbol
IPDBRawSymbol defines an interface used to represent an arbitrary symbol.
Definition: IPDBRawSymbol.h:45
llvm::pdb::DIARawSymbol::getLiveRangeStartRelativeVirtualAddress
uint32_t getLiveRangeStartRelativeVirtualAddress() const override
Definition: DIARawSymbol.cpp:674
llvm::pdb::DIARawSymbol::hasSecurityChecks
bool hasSecurityChecks() const override
Definition: DIARawSymbol.cpp:1054
llvm::pdb::DIARawSymbol::findInlineFramesByVA
std::unique_ptr< IPDBEnumSymbols > findInlineFramesByVA(uint64_t VA) const override
Definition: DIARawSymbol.cpp:505
llvm::pdb::DIARawSymbol::getNumberOfRows
uint32_t getNumberOfRows() const override
Definition: DIARawSymbol.cpp:713
llvm::pdb::DIARawSymbol::getDataBytes
void getDataBytes(llvm::SmallVector< uint8_t, 32 > &bytes) const override
Definition: DIARawSymbol.cpp:550
llvm::pdb::DIARawSymbol::isSdl
bool isSdl() const override
Definition: DIARawSymbol.cpp:1214
llvm::pdb::DIARawSymbol::getVirtualBasePointerOffset
int32_t getVirtualBasePointerOffset() const override
Definition: DIARawSymbol.cpp:902
llvm::pdb::DIARawSymbol::isPointerToDataMember
bool isPointerToDataMember() const override
Definition: DIARawSymbol.cpp:1174
llvm::pdb::DIARawSymbol::hasNestedTypes
bool hasNestedTypes() const override
Definition: DIARawSymbol.cpp:1030
llvm::pdb::DIARawSymbol::getLibraryName
std::string getLibraryName() const override
Definition: DIARawSymbol.cpp:660
llvm::pdb::DIARawSymbol::getVirtualBaseTableType
std::unique_ptr< PDBSymbolTypeBuiltin > getVirtualBaseTableType() const override
Definition: DIARawSymbol.cpp:869
llvm::pdb::DIARawSymbol::isVolatileType
bool isVolatileType() const override
Definition: DIARawSymbol.cpp:1260
llvm::pdb::DIARawSymbol::getVirtualBaseDispIndex
uint32_t getVirtualBaseDispIndex() const override
Definition: DIARawSymbol.cpp:856
llvm::pdb::DIARawSymbol::hasFramePointer
bool hasFramePointer() const override
Definition: DIARawSymbol.cpp:1018