Lines Matching full:codeview
9 // This file contains support for writing Microsoft CodeView debug info.
28 #include "llvm/DebugInfo/CodeView/CodeView.h"
29 #include "llvm/DebugInfo/CodeView/GlobalTypeTableBuilder.h"
30 #include "llvm/DebugInfo/CodeView/TypeIndex.h"
54 /// Collects and handles line tables information in a CodeView format.
93 codeview::GlobalTypeTableBuilder TypeTable;
98 /// The codeview CPU type used by the translation unit.
99 codeview::CPUType TheCPU;
139 codeview::JumpTableEntrySize EntrySize;
163 SmallSet<codeview::TypeIndex, 1> Inlinees;
198 codeview::EncodedFramePtrReg EncodedLocalFramePtrReg =
199 codeview::EncodedFramePtrReg::None;
203 codeview::EncodedFramePtrReg EncodedParamFramePtrReg =
204 codeview::EncodedFramePtrReg::None;
206 codeview::FrameProcedureOptions FrameProcOpts;
216 codeview::SourceLanguage CurrentSourceLanguage =
217 codeview::SourceLanguage::Masm;
262 codeview::TypeIndex getFuncIdForSubprogram(const DISubprogram *SP);
279 /// be nullptr, to CodeView type indices. Primarily indexed by
284 DenseMap<std::pair<const DINode *, const DIType *>, codeview::TypeIndex>
289 DenseMap<const DICompositeType *, codeview::TypeIndex> CompleteTypeIndices;
298 codeview::TypeIndex VBPType;
323 /// Emit the magic version number at the start of a CodeView type or symbol
359 /// Opens a subsection of the given kind in a .debug$S codeview section.
362 MCSymbol *beginCVSubsection(codeview::DebugSubsectionKind Kind);
367 MCSymbol *beginSymbolRecord(codeview::SymbolKind Kind);
373 void emitEndSymbolRecord(codeview::SymbolKind EndKind);
378 void emitInlinees(const SmallSet<codeview::TypeIndex, 1> &Inlinees);
416 /// Translates the DIType to codeview if necessary and returns a type index
418 codeview::TypeIndex getTypeIndex(const DIType *Ty,
421 codeview::TypeIndex
425 codeview::TypeIndex getTypeIndexForReferenceTo(const DIType *Ty);
427 codeview::TypeIndex getMemberFunctionType(const DISubprogram *SP,
430 codeview::TypeIndex getScopeIndex(const DIScope *Scope);
432 codeview::TypeIndex getVBPTypeIndex();
436 void addUDTSrcLine(const DIType *Ty, codeview::TypeIndex TI);
438 codeview::TypeIndex lowerType(const DIType *Ty, const DIType *ClassTy);
439 codeview::TypeIndex lowerTypeAlias(const DIDerivedType *Ty);
440 codeview::TypeIndex lowerTypeArray(const DICompositeType *Ty);
441 codeview::TypeIndex lowerTypeString(const DIStringType *Ty);
442 codeview::TypeIndex lowerTypeBasic(const DIBasicType *Ty);
443 codeview::TypeIndex lowerTypePointer(
445 codeview::PointerOptions PO = codeview::PointerOptions::None);
446 codeview::TypeIndex lowerTypeMemberPointer(
448 codeview::PointerOptions PO = codeview::PointerOptions::None);
449 codeview::TypeIndex lowerTypeModifier(const DIDerivedType *Ty);
450 codeview::TypeIndex lowerTypeFunction(const DISubroutineType *Ty);
451 codeview::TypeIndex lowerTypeVFTableShape(const DIDerivedType *Ty);
452 codeview::TypeIndex lowerTypeMemberFunction(
455 codeview::FunctionOptions FO = codeview::FunctionOptions::None);
456 codeview::TypeIndex lowerTypeEnum(const DICompositeType *Ty);
457 codeview::TypeIndex lowerTypeClass(const DICompositeType *Ty);
458 codeview::TypeIndex lowerTypeUnion(const DICompositeType *Ty);
465 codeview::TypeIndex getCompleteTypeIndex(const DIType *Ty);
467 codeview::TypeIndex lowerCompleteTypeClass(const DICompositeType *Ty);
468 codeview::TypeIndex lowerCompleteTypeUnion(const DICompositeType *Ty);
480 std::tuple<codeview::TypeIndex, codeview::TypeIndex, unsigned, bool>
484 codeview::TypeIndex recordTypeIndexForDINode(const DINode *Node,
485 codeview::TypeIndex TI,
512 return CurrentSourceLanguage == codeview::SourceLanguage::Fortran; in moduleIsInFortran()