reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
  248       void *CKMem = OS.getContext().allocate(Checksum.size(), 1);
  257     bool Success = OS.EmitCVFileDirective(NextId, FullPath, ChecksumAsBytes,
  278     OS.EmitCVInlineSiteIdDirective(
  546   OS.EmitCVLocDirective(FuncId, FileId, DL.getLine(), DL.getCol(),
  552   OS.EmitValueToAlignment(4);
  553   OS.AddComment("Debug section magic");
  554   OS.EmitIntValue(COFF::DEBUG_SECTION_MAGIC, 4);
  602   OS.AddComment("File index to string table offset subsection");
  603   OS.EmitCVFileChecksumsDirective();
  606   OS.AddComment("String table");
  607   OS.EmitCVStringTableDirective();
  642   OS.SwitchSection(Asm->getObjFileLowering().getCOFFDebugTypesSection());
  649   CVMCAdapter CVMCOS(OS, Table);
  675   OS.SwitchSection(Asm->getObjFileLowering().getCOFFGlobalTypeHashesSection());
  677   OS.EmitValueToAlignment(4);
  678   OS.AddComment("Magic");
  679   OS.EmitIntValue(COFF::DEBUG_HASHES_SECTION_MAGIC, 4);
  680   OS.AddComment("Section Version");
  681   OS.EmitIntValue(0, 2);
  682   OS.AddComment("Hash Algorithm");
  683   OS.EmitIntValue(uint16_t(GlobalTypeHashAlg::SHA1_8), 2);
  687     if (OS.isVerboseAsm()) {
  693       OS.AddComment(Comment);
  699     OS.EmitBinaryData(S);
  777   OS.AddComment("Flags and language");
  778   OS.EmitIntValue(Flags, 4);
  780   OS.AddComment("CPUType");
  781   OS.EmitIntValue(static_cast<uint64_t>(TheCPU), 2);
  785   OS.AddComment("Frontend version");
  787     OS.EmitIntValue(FrontVer.Part[N], 2);
  798   OS.AddComment("Backend version");
  800     OS.EmitIntValue(BackVer.Part[N], 2);
  802   OS.AddComment("Null-terminated compiler version string");
  803   emitNullTerminatedSymbolName(OS, CompilerVersion);
  843   OS.AddComment("LF_BUILDINFO index");
  844   OS.EmitIntValue(BuildInfoIndex.getIndex(), 4);
  853   OS.AddComment("Inlinee lines subsection");
  860   OS.AddComment("Inlinee lines signature");
  861   OS.EmitIntValue(unsigned(InlineeLinesSignature::Normal), 4);
  867     OS.AddBlankLine();
  869     OS.AddComment("Inlined function " + SP->getName() + " starts at " +
  871     OS.AddBlankLine();
  872     OS.AddComment("Type index of inlined function");
  873     OS.EmitIntValue(InlineeIdx.getIndex(), 4);
  874     OS.AddComment("Offset into filechecksum table");
  875     OS.EmitCVFileChecksumOffsetDirective(FileId);
  876     OS.AddComment("Starting line number");
  877     OS.EmitIntValue(SP->getLine(), 4);
  892   OS.AddComment("PtrParent");
  893   OS.EmitIntValue(0, 4);
  894   OS.AddComment("PtrEnd");
  895   OS.EmitIntValue(0, 4);
  896   OS.AddComment("Inlinee type index");
  897   OS.EmitIntValue(InlineeIdx.getIndex(), 4);
  902   OS.EmitCVInlineLinetableDirective(Site.SiteFuncId, FileId, StartLineNum,
  931   DebugSec = OS.getContext().getAssociativeCOFFSection(DebugSec, KeySym);
  933   OS.SwitchSection(DebugSec);
  949   OS.AddComment("Symbol subsection for " + Twine(FuncName));
  954   OS.AddComment("PtrParent");
  955   OS.EmitIntValue(0, 4);
  956   OS.AddComment("PtrEnd");
  957   OS.EmitIntValue(0, 4);
  958   OS.AddComment("PtrNext");
  959   OS.EmitIntValue(0, 4);
  960   OS.AddComment("Thunk section relative address");
  961   OS.EmitCOFFSecRel32(Fn, /*Offset=*/0);
  962   OS.AddComment("Thunk section index");
  963   OS.EmitCOFFSectionIndex(Fn);
  964   OS.AddComment("Code size");
  965   OS.emitAbsoluteSymbolDiff(FI.End, Fn, 2);
  966   OS.AddComment("Ordinal");
  967   OS.EmitIntValue(unsigned(ordinal), 1);
  968   OS.AddComment("Function name");
  969   emitNullTerminatedSymbolName(OS, FuncName);
 1013     OS.EmitCVFPOData(Fn);
 1016   OS.AddComment("Symbol subsection for " + Twine(FuncName));
 1024     OS.AddComment("PtrParent");
 1025     OS.EmitIntValue(0, 4);
 1026     OS.AddComment("PtrEnd");
 1027     OS.EmitIntValue(0, 4);
 1028     OS.AddComment("PtrNext");
 1029     OS.EmitIntValue(0, 4);
 1032     OS.AddComment("Code size");
 1033     OS.emitAbsoluteSymbolDiff(FI.End, Fn, 4);
 1034     OS.AddComment("Offset after prologue");
 1035     OS.EmitIntValue(0, 4);
 1036     OS.AddComment("Offset before epilogue");
 1037     OS.EmitIntValue(0, 4);
 1038     OS.AddComment("Function type index");
 1039     OS.EmitIntValue(getFuncIdForSubprogram(GV->getSubprogram()).getIndex(), 4);
 1040     OS.AddComment("Function section relative address");
 1041     OS.EmitCOFFSecRel32(Fn, /*Offset=*/0);
 1042     OS.AddComment("Function section index");
 1043     OS.EmitCOFFSectionIndex(Fn);
 1044     OS.AddComment("Flags");
 1045     OS.EmitIntValue(0, 1);
 1047     OS.AddComment("Function name");
 1049     emitNullTerminatedSymbolName(OS, FuncName);
 1054     OS.AddComment("FrameSize");
 1055     OS.EmitIntValue(FI.FrameSize - FI.CSRSize, 4);
 1056     OS.AddComment("Padding");
 1057     OS.EmitIntValue(0, 4);
 1058     OS.AddComment("Offset of padding");
 1059     OS.EmitIntValue(0, 4);
 1060     OS.AddComment("Bytes of callee saved registers");
 1061     OS.EmitIntValue(FI.CSRSize, 4);
 1062     OS.AddComment("Exception handler offset");
 1063     OS.EmitIntValue(0, 4);
 1064     OS.AddComment("Exception handler section");
 1065     OS.EmitIntValue(0, 2);
 1066     OS.AddComment("Flags (defines frame register)");
 1067     OS.EmitIntValue(uint32_t(FI.FrameProcOpts), 4);
 1088       OS.EmitCOFFSecRel32(Label, /*Offset=*/0);
 1090       OS.EmitCOFFSectionIndex(Label);
 1091       OS.EmitIntValue(Strs->getNumOperands(), 2);
 1097         OS.EmitBytes(StringRef(Str.data(), Str.size() + 1));
 1107       OS.AddComment("Call site offset");
 1108       OS.EmitCOFFSecRel32(BeginLabel, /*Offset=*/0);
 1109       OS.AddComment("Call site section index");
 1110       OS.EmitCOFFSectionIndex(BeginLabel);
 1111       OS.AddComment("Call instruction length");
 1112       OS.emitAbsoluteSymbolDiff(EndLabel, BeginLabel, 2);
 1113       OS.AddComment("Type index");
 1114       OS.EmitIntValue(getCompleteTypeIndex(DITy).getIndex(), 4);
 1127   OS.EmitCVLinetableDirective(FI.FuncId, Fn, FI.End);
 1399   OS.EmitCVFuncIdDirective(CurFn->FuncId);
 2624   OS.AddComment("TypeIndex");
 2628   OS.EmitIntValue(TI.getIndex(), 4);
 2629   OS.AddComment("Flags");
 2630   OS.EmitIntValue(static_cast<uint16_t>(Flags), 2);
 2632   emitNullTerminatedSymbolName(OS, Var.DIVar->getName());
 2663         OS.EmitCVDefRangeDirective(DefRange.Ranges, DRHdr);
 2675         OS.EmitCVDefRangeDirective(DefRange.Ranges, DRHdr);
 2684         OS.EmitCVDefRangeDirective(DefRange.Ranges, DRHdr);
 2689         OS.EmitCVDefRangeDirective(DefRange.Ranges, DRHdr);
 2706   OS.AddComment("PtrParent");
 2707   OS.EmitIntValue(0, 4);                                  // PtrParent
 2708   OS.AddComment("PtrEnd");
 2709   OS.EmitIntValue(0, 4);                                  // PtrEnd
 2710   OS.AddComment("Code size");
 2711   OS.emitAbsoluteSymbolDiff(Block.End, Block.Begin, 4);   // Code Size
 2712   OS.AddComment("Function section relative address");
 2713   OS.EmitCOFFSecRel32(Block.Begin, /*Offset=*/0);         // Func Offset
 2714   OS.AddComment("Function section index");
 2715   OS.EmitCOFFSectionIndex(FI.Begin);                      // Func Symbol
 2716   OS.AddComment("Lexical block name");
 2717   emitNullTerminatedSymbolName(OS, Block.Name);           // Name
 2917   OS.EmitIntValue(unsigned(Kind), 4);
 2918   OS.AddComment("Subsection size");
 2919   OS.emitAbsoluteSymbolDiff(EndLabel, BeginLabel, 4);
 2920   OS.EmitLabel(BeginLabel);
 2925   OS.EmitLabel(EndLabel);
 2927   OS.EmitValueToAlignment(4);
 2940   OS.AddComment("Record length");
 2941   OS.emitAbsoluteSymbolDiff(EndLabel, BeginLabel, 2);
 2942   OS.EmitLabel(BeginLabel);
 2943   if (OS.isVerboseAsm())
 2944     OS.AddComment("Record kind: " + getSymbolName(SymKind));
 2945   OS.EmitIntValue(unsigned(SymKind), 2);
 2954   OS.EmitValueToAlignment(4);
 2955   OS.EmitLabel(SymEnd);
 2959   OS.AddComment("Record length");
 2960   OS.EmitIntValue(2, 2);
 2961   if (OS.isVerboseAsm())
 2962     OS.AddComment("Record kind: " + getSymbolName(EndKind));
 2963   OS.EmitIntValue(unsigned(EndKind), 2); // Record Kind
 2973     OS.AddComment("Type");
 2974     OS.EmitIntValue(getCompleteTypeIndex(T).getIndex(), 4);
 2975     emitNullTerminatedSymbolName(OS, UDT.first);
 3035     OS.AddComment("Symbol subsection for globals");
 3046     OS.AddComment("Symbol subsection for " +
 3089     OS.AddComment("Type");
 3090     OS.EmitIntValue(getCompleteTypeIndex(DIGV->getType()).getIndex(), 4);
 3091     OS.AddComment("DataOffset");
 3092     OS.EmitCOFFSecRel32(GVSym, /*Offset=*/0);
 3093     OS.AddComment("Segment");
 3094     OS.EmitCOFFSectionIndex(GVSym);
 3095     OS.AddComment("Name");
 3097     emitNullTerminatedSymbolName(OS, DIGV->getName(), LengthOfDataRecord);
 3108     OS.AddComment("Type");
 3109     OS.EmitIntValue(getTypeIndex(DIGV->getType()).getIndex(), 4);
 3110     OS.AddComment("Value");
 3118     OS.EmitBinaryData(SRef);
 3120     OS.AddComment("Name");
 3126     emitNullTerminatedSymbolName(OS,