[InstCombine] Signed saturation patterns
[llvm-complete.git] / lib / DebugInfo / PDB / Native / NativeRawSymbol.cpp
blob2ad552470b617e5b4703b62224c671c190d0f2bc
1 //===- NativeRawSymbol.cpp - Native implementation of IPDBRawSymbol -------===//
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 //===----------------------------------------------------------------------===//
9 #include "llvm/DebugInfo/PDB/Native/NativeRawSymbol.h"
10 #include "llvm/DebugInfo/PDB/IPDBLineNumber.h"
11 #include "llvm/DebugInfo/PDB/Native/NativeSession.h"
12 #include "llvm/DebugInfo/PDB/PDBSymbolTypeBuiltin.h"
13 #include "llvm/Support/FormatVariadic.h"
15 using namespace llvm;
16 using namespace llvm::pdb;
18 NativeRawSymbol::NativeRawSymbol(NativeSession &PDBSession, PDB_SymType Tag,
19 SymIndexId SymbolId)
20 : Session(PDBSession), Tag(Tag), SymbolId(SymbolId) {}
22 void NativeRawSymbol::dump(raw_ostream &OS, int Indent,
23 PdbSymbolIdField ShowIdFields,
24 PdbSymbolIdField RecurseIdFields) const {
25 dumpSymbolIdField(OS, "symIndexId", SymbolId, Indent, Session,
26 PdbSymbolIdField::SymIndexId, ShowIdFields,
27 RecurseIdFields);
28 dumpSymbolField(OS, "symTag", Tag, Indent);
31 std::unique_ptr<IPDBEnumSymbols>
32 NativeRawSymbol::findChildren(PDB_SymType Type) const {
33 return std::make_unique<NullEnumerator<PDBSymbol>>();
36 std::unique_ptr<IPDBEnumSymbols>
37 NativeRawSymbol::findChildren(PDB_SymType Type, StringRef Name,
38 PDB_NameSearchFlags Flags) const {
39 return std::make_unique<NullEnumerator<PDBSymbol>>();
42 std::unique_ptr<IPDBEnumSymbols>
43 NativeRawSymbol::findChildrenByAddr(PDB_SymType Type, StringRef Name,
44 PDB_NameSearchFlags Flags, uint32_t Section, uint32_t Offset) const {
45 return std::make_unique<NullEnumerator<PDBSymbol>>();
48 std::unique_ptr<IPDBEnumSymbols>
49 NativeRawSymbol::findChildrenByVA(PDB_SymType Type, StringRef Name,
50 PDB_NameSearchFlags Flags, uint64_t VA) const {
51 return std::make_unique<NullEnumerator<PDBSymbol>>();
54 std::unique_ptr<IPDBEnumSymbols>
55 NativeRawSymbol::findChildrenByRVA(PDB_SymType Type, StringRef Name,
56 PDB_NameSearchFlags Flags, uint32_t RVA) const {
57 return std::make_unique<NullEnumerator<PDBSymbol>>();
60 std::unique_ptr<IPDBEnumSymbols>
61 NativeRawSymbol::findInlineFramesByAddr(uint32_t Section,
62 uint32_t Offset) const {
63 return std::make_unique<NullEnumerator<PDBSymbol>>();
66 std::unique_ptr<IPDBEnumSymbols>
67 NativeRawSymbol::findInlineFramesByRVA(uint32_t RVA) const {
68 return std::make_unique<NullEnumerator<PDBSymbol>>();
71 std::unique_ptr<IPDBEnumSymbols>
72 NativeRawSymbol::findInlineFramesByVA(uint64_t VA) const {
73 return std::make_unique<NullEnumerator<PDBSymbol>>();
76 std::unique_ptr<IPDBEnumLineNumbers>
77 NativeRawSymbol::findInlineeLines() const {
78 return std::make_unique<NullEnumerator<IPDBLineNumber>>();
81 std::unique_ptr<IPDBEnumLineNumbers>
82 NativeRawSymbol::findInlineeLinesByAddr(uint32_t Section, uint32_t Offset,
83 uint32_t Length) const {
84 return std::make_unique<NullEnumerator<IPDBLineNumber>>();
87 std::unique_ptr<IPDBEnumLineNumbers>
88 NativeRawSymbol::findInlineeLinesByRVA(uint32_t RVA, uint32_t Length) const {
89 return std::make_unique<NullEnumerator<IPDBLineNumber>>();
92 std::unique_ptr<IPDBEnumLineNumbers>
93 NativeRawSymbol::findInlineeLinesByVA(uint64_t VA, uint32_t Length) const {
94 return std::make_unique<NullEnumerator<IPDBLineNumber>>();
97 void NativeRawSymbol::getDataBytes(SmallVector<uint8_t, 32> &bytes) const {
98 bytes.clear();
101 PDB_MemberAccess NativeRawSymbol::getAccess() const {
102 return PDB_MemberAccess::Private;
105 uint32_t NativeRawSymbol::getAddressOffset() const {
106 return 0;
109 uint32_t NativeRawSymbol::getAddressSection() const {
110 return 0;
113 uint32_t NativeRawSymbol::getAge() const {
114 return 0;
117 SymIndexId NativeRawSymbol::getArrayIndexTypeId() const { return 0; }
119 void NativeRawSymbol::getBackEndVersion(VersionInfo &Version) const {
120 Version.Major = 0;
121 Version.Minor = 0;
122 Version.Build = 0;
123 Version.QFE = 0;
126 uint32_t NativeRawSymbol::getBaseDataOffset() const {
127 return 0;
130 uint32_t NativeRawSymbol::getBaseDataSlot() const {
131 return 0;
134 SymIndexId NativeRawSymbol::getBaseSymbolId() const { return 0; }
136 PDB_BuiltinType NativeRawSymbol::getBuiltinType() const {
137 return PDB_BuiltinType::None;
140 uint32_t NativeRawSymbol::getBitPosition() const {
141 return 0;
144 PDB_CallingConv NativeRawSymbol::getCallingConvention() const {
145 return PDB_CallingConv::FarStdCall;
148 SymIndexId NativeRawSymbol::getClassParentId() const { return 0; }
150 std::string NativeRawSymbol::getCompilerName() const {
151 return {};
154 uint32_t NativeRawSymbol::getCount() const {
155 return 0;
158 uint32_t NativeRawSymbol::getCountLiveRanges() const {
159 return 0;
162 void NativeRawSymbol::getFrontEndVersion(VersionInfo &Version) const {
163 Version.Major = 0;
164 Version.Minor = 0;
165 Version.Build = 0;
166 Version.QFE = 0;
169 PDB_Lang NativeRawSymbol::getLanguage() const {
170 return PDB_Lang::Cobol;
173 SymIndexId NativeRawSymbol::getLexicalParentId() const { return 0; }
175 std::string NativeRawSymbol::getLibraryName() const {
176 return {};
179 uint32_t NativeRawSymbol::getLiveRangeStartAddressOffset() const {
180 return 0;
183 uint32_t NativeRawSymbol::getLiveRangeStartAddressSection() const {
184 return 0;
187 uint32_t NativeRawSymbol::getLiveRangeStartRelativeVirtualAddress() const {
188 return 0;
191 codeview::RegisterId NativeRawSymbol::getLocalBasePointerRegisterId() const {
192 return codeview::RegisterId::EAX;
195 SymIndexId NativeRawSymbol::getLowerBoundId() const { return 0; }
197 uint32_t NativeRawSymbol::getMemorySpaceKind() const {
198 return 0;
201 std::string NativeRawSymbol::getName() const {
202 return {};
205 uint32_t NativeRawSymbol::getNumberOfAcceleratorPointerTags() const {
206 return 0;
209 uint32_t NativeRawSymbol::getNumberOfColumns() const {
210 return 0;
213 uint32_t NativeRawSymbol::getNumberOfModifiers() const {
214 return 0;
217 uint32_t NativeRawSymbol::getNumberOfRegisterIndices() const {
218 return 0;
221 uint32_t NativeRawSymbol::getNumberOfRows() const {
222 return 0;
225 std::string NativeRawSymbol::getObjectFileName() const {
226 return {};
229 uint32_t NativeRawSymbol::getOemId() const {
230 return 0;
233 SymIndexId NativeRawSymbol::getOemSymbolId() const { return 0; }
235 uint32_t NativeRawSymbol::getOffsetInUdt() const {
236 return 0;
239 PDB_Cpu NativeRawSymbol::getPlatform() const {
240 return PDB_Cpu::Intel8080;
243 uint32_t NativeRawSymbol::getRank() const {
244 return 0;
247 codeview::RegisterId NativeRawSymbol::getRegisterId() const {
248 return codeview::RegisterId::EAX;
251 uint32_t NativeRawSymbol::getRegisterType() const {
252 return 0;
255 uint32_t NativeRawSymbol::getRelativeVirtualAddress() const {
256 return 0;
259 uint32_t NativeRawSymbol::getSamplerSlot() const {
260 return 0;
263 uint32_t NativeRawSymbol::getSignature() const {
264 return 0;
267 uint32_t NativeRawSymbol::getSizeInUdt() const {
268 return 0;
271 uint32_t NativeRawSymbol::getSlot() const {
272 return 0;
275 std::string NativeRawSymbol::getSourceFileName() const {
276 return {};
279 std::unique_ptr<IPDBLineNumber>
280 NativeRawSymbol::getSrcLineOnTypeDefn() const {
281 return nullptr;
284 uint32_t NativeRawSymbol::getStride() const {
285 return 0;
288 SymIndexId NativeRawSymbol::getSubTypeId() const { return 0; }
290 std::string NativeRawSymbol::getSymbolsFileName() const { return {}; }
292 SymIndexId NativeRawSymbol::getSymIndexId() const { return SymbolId; }
294 uint32_t NativeRawSymbol::getTargetOffset() const {
295 return 0;
298 uint32_t NativeRawSymbol::getTargetRelativeVirtualAddress() const {
299 return 0;
302 uint64_t NativeRawSymbol::getTargetVirtualAddress() const {
303 return 0;
306 uint32_t NativeRawSymbol::getTargetSection() const {
307 return 0;
310 uint32_t NativeRawSymbol::getTextureSlot() const {
311 return 0;
314 uint32_t NativeRawSymbol::getTimeStamp() const {
315 return 0;
318 uint32_t NativeRawSymbol::getToken() const {
319 return 0;
322 SymIndexId NativeRawSymbol::getTypeId() const { return 0; }
324 uint32_t NativeRawSymbol::getUavSlot() const {
325 return 0;
328 std::string NativeRawSymbol::getUndecoratedName() const {
329 return {};
332 std::string NativeRawSymbol::getUndecoratedNameEx(
333 PDB_UndnameFlags Flags) const {
334 return {};
337 SymIndexId NativeRawSymbol::getUnmodifiedTypeId() const { return 0; }
339 SymIndexId NativeRawSymbol::getUpperBoundId() const { return 0; }
341 Variant NativeRawSymbol::getValue() const {
342 return Variant();
345 uint32_t NativeRawSymbol::getVirtualBaseDispIndex() const {
346 return 0;
349 uint32_t NativeRawSymbol::getVirtualBaseOffset() const {
350 return 0;
353 SymIndexId NativeRawSymbol::getVirtualTableShapeId() const { return 0; }
355 std::unique_ptr<PDBSymbolTypeBuiltin>
356 NativeRawSymbol::getVirtualBaseTableType() const {
357 return nullptr;
360 PDB_DataKind NativeRawSymbol::getDataKind() const {
361 return PDB_DataKind::Unknown;
364 PDB_SymType NativeRawSymbol::getSymTag() const { return Tag; }
366 codeview::GUID NativeRawSymbol::getGuid() const { return codeview::GUID{{0}}; }
368 int32_t NativeRawSymbol::getOffset() const {
369 return 0;
372 int32_t NativeRawSymbol::getThisAdjust() const {
373 return 0;
376 int32_t NativeRawSymbol::getVirtualBasePointerOffset() const {
377 return 0;
380 PDB_LocType NativeRawSymbol::getLocationType() const {
381 return PDB_LocType::Null;
384 PDB_Machine NativeRawSymbol::getMachineType() const {
385 return PDB_Machine::Invalid;
388 codeview::ThunkOrdinal NativeRawSymbol::getThunkOrdinal() const {
389 return codeview::ThunkOrdinal::Standard;
392 uint64_t NativeRawSymbol::getLength() const {
393 return 0;
396 uint64_t NativeRawSymbol::getLiveRangeLength() const {
397 return 0;
400 uint64_t NativeRawSymbol::getVirtualAddress() const {
401 return 0;
404 PDB_UdtType NativeRawSymbol::getUdtKind() const {
405 return PDB_UdtType::Struct;
408 bool NativeRawSymbol::hasConstructor() const {
409 return false;
412 bool NativeRawSymbol::hasCustomCallingConvention() const {
413 return false;
416 bool NativeRawSymbol::hasFarReturn() const {
417 return false;
420 bool NativeRawSymbol::isCode() const {
421 return false;
424 bool NativeRawSymbol::isCompilerGenerated() const {
425 return false;
428 bool NativeRawSymbol::isConstType() const {
429 return false;
432 bool NativeRawSymbol::isEditAndContinueEnabled() const {
433 return false;
436 bool NativeRawSymbol::isFunction() const {
437 return false;
440 bool NativeRawSymbol::getAddressTaken() const {
441 return false;
444 bool NativeRawSymbol::getNoStackOrdering() const {
445 return false;
448 bool NativeRawSymbol::hasAlloca() const {
449 return false;
452 bool NativeRawSymbol::hasAssignmentOperator() const {
453 return false;
456 bool NativeRawSymbol::hasCTypes() const {
457 return false;
460 bool NativeRawSymbol::hasCastOperator() const {
461 return false;
464 bool NativeRawSymbol::hasDebugInfo() const {
465 return false;
468 bool NativeRawSymbol::hasEH() const {
469 return false;
472 bool NativeRawSymbol::hasEHa() const {
473 return false;
476 bool NativeRawSymbol::hasInlAsm() const {
477 return false;
480 bool NativeRawSymbol::hasInlineAttribute() const {
481 return false;
484 bool NativeRawSymbol::hasInterruptReturn() const {
485 return false;
488 bool NativeRawSymbol::hasFramePointer() const {
489 return false;
492 bool NativeRawSymbol::hasLongJump() const {
493 return false;
496 bool NativeRawSymbol::hasManagedCode() const {
497 return false;
500 bool NativeRawSymbol::hasNestedTypes() const {
501 return false;
504 bool NativeRawSymbol::hasNoInlineAttribute() const {
505 return false;
508 bool NativeRawSymbol::hasNoReturnAttribute() const {
509 return false;
512 bool NativeRawSymbol::hasOptimizedCodeDebugInfo() const {
513 return false;
516 bool NativeRawSymbol::hasOverloadedOperator() const {
517 return false;
520 bool NativeRawSymbol::hasSEH() const {
521 return false;
524 bool NativeRawSymbol::hasSecurityChecks() const {
525 return false;
528 bool NativeRawSymbol::hasSetJump() const {
529 return false;
532 bool NativeRawSymbol::hasStrictGSCheck() const {
533 return false;
536 bool NativeRawSymbol::isAcceleratorGroupSharedLocal() const {
537 return false;
540 bool NativeRawSymbol::isAcceleratorPointerTagLiveRange() const {
541 return false;
544 bool NativeRawSymbol::isAcceleratorStubFunction() const {
545 return false;
548 bool NativeRawSymbol::isAggregated() const {
549 return false;
552 bool NativeRawSymbol::isIntroVirtualFunction() const {
553 return false;
556 bool NativeRawSymbol::isCVTCIL() const {
557 return false;
560 bool NativeRawSymbol::isConstructorVirtualBase() const {
561 return false;
564 bool NativeRawSymbol::isCxxReturnUdt() const {
565 return false;
568 bool NativeRawSymbol::isDataAligned() const {
569 return false;
572 bool NativeRawSymbol::isHLSLData() const {
573 return false;
576 bool NativeRawSymbol::isHotpatchable() const {
577 return false;
580 bool NativeRawSymbol::isIndirectVirtualBaseClass() const {
581 return false;
584 bool NativeRawSymbol::isInterfaceUdt() const {
585 return false;
588 bool NativeRawSymbol::isIntrinsic() const {
589 return false;
592 bool NativeRawSymbol::isLTCG() const {
593 return false;
596 bool NativeRawSymbol::isLocationControlFlowDependent() const {
597 return false;
600 bool NativeRawSymbol::isMSILNetmodule() const {
601 return false;
604 bool NativeRawSymbol::isMatrixRowMajor() const {
605 return false;
608 bool NativeRawSymbol::isManagedCode() const {
609 return false;
612 bool NativeRawSymbol::isMSILCode() const {
613 return false;
616 bool NativeRawSymbol::isMultipleInheritance() const {
617 return false;
620 bool NativeRawSymbol::isNaked() const {
621 return false;
624 bool NativeRawSymbol::isNested() const {
625 return false;
628 bool NativeRawSymbol::isOptimizedAway() const {
629 return false;
632 bool NativeRawSymbol::isPacked() const {
633 return false;
636 bool NativeRawSymbol::isPointerBasedOnSymbolValue() const {
637 return false;
640 bool NativeRawSymbol::isPointerToDataMember() const {
641 return false;
644 bool NativeRawSymbol::isPointerToMemberFunction() const {
645 return false;
648 bool NativeRawSymbol::isPureVirtual() const {
649 return false;
652 bool NativeRawSymbol::isRValueReference() const {
653 return false;
656 bool NativeRawSymbol::isRefUdt() const {
657 return false;
660 bool NativeRawSymbol::isReference() const {
661 return false;
664 bool NativeRawSymbol::isRestrictedType() const {
665 return false;
668 bool NativeRawSymbol::isReturnValue() const {
669 return false;
672 bool NativeRawSymbol::isSafeBuffers() const {
673 return false;
676 bool NativeRawSymbol::isScoped() const {
677 return false;
680 bool NativeRawSymbol::isSdl() const {
681 return false;
684 bool NativeRawSymbol::isSingleInheritance() const {
685 return false;
688 bool NativeRawSymbol::isSplitted() const {
689 return false;
692 bool NativeRawSymbol::isStatic() const {
693 return false;
696 bool NativeRawSymbol::hasPrivateSymbols() const {
697 return false;
700 bool NativeRawSymbol::isUnalignedType() const {
701 return false;
704 bool NativeRawSymbol::isUnreached() const {
705 return false;
708 bool NativeRawSymbol::isValueUdt() const {
709 return false;
712 bool NativeRawSymbol::isVirtual() const {
713 return false;
716 bool NativeRawSymbol::isVirtualBaseClass() const {
717 return false;
720 bool NativeRawSymbol::isVirtualInheritance() const {
721 return false;
724 bool NativeRawSymbol::isVolatileType() const {
725 return false;
728 bool NativeRawSymbol::wasInlined() const {
729 return false;
732 std::string NativeRawSymbol::getUnused() const {
733 return {};