Lines Matching defs:CU
353 template <typename Func> void forBothCUs(DwarfCompileUnit &CU, Func F) {
354 F(CU);
355 if (auto *SkelCU = CU.getSkeleton())
370 auto &CU = SPMap[SP];
371 forBothCUs(*CU, [&](DwarfCompileUnit &CU) {
372 CU.constructAbstractSubprogramScopeDIE(Scope);
415 // skeleton CU and so we don't need to duplicate it here.
439 // This CU is either a clang module DWO or a skeleton CU.
443 // This is a prefabricated skeleton CU.
468 NamedMDNode *CU_Nodes = M->getNamedMetadata("llvm.dbg.cu");
477 DwarfCompileUnit &CU = constructDwarfCompileUnit(CUNode);
479 CU.addImportedEntity(IE);
481 CU.getOrCreateGlobalVariableDIE(GV);
483 SPMap.insert(std::make_pair(SP, &CU));
487 CU.getOrCreateTypeDIE(cast<DIType>(resolve(Ty->getRef())));
495 CU.getOrCreateTypeDIE(RT);
500 constructAndAddImportedEntityDIE(CU, IE);
528 forBothCUs(*P.second, [&](DwarfCompileUnit &CU) {
529 CU.finishSubprogramDefinition(cast<DISubprogram>(P.first));
538 if (NamedMDNode *CU_Nodes = M->getNamedMetadata("llvm.dbg.cu")) {
572 // Add CU specific attributes if we need to add any.
574 // CU then add the dwo id to it.
577 // Emit a unique identifier for this CU.
584 // We don't keep track of which addresses are used in which CU so this
631 // llvm.dbg.cu metadata node)
1119 // belongs to so that we add to the correct per-cu line table in the
1214 // Add the range of this function to the list of ranges for the CU.
1223 // FIXME: This wouldn't be true in LTO with a -g (with inlining) CU followed
1224 // by a -gmlt CU. Add a test and remove this assertion.
1345 // dwarf pubnames - offset/name pairs where the offset is the offset into the CU
1349 // into the CU and the index value is computed according to the type of value
1356 /// computeIndexValue - Compute the gdb index value for the DIE and CU.
1357 static dwarf::PubIndexEntryDescriptor computeIndexValue(DwarfUnit *CU,
1376 dwarf::GIEK_TYPE, CU->getLanguage() != dwarf::DW_LANG_C_plus_plus
1584 const DwarfCompileUnit *CU = List.CU;
1589 if (auto *Base = CU->getBaseAddress()) {
1613 // The start of the CU or CU subrange that encloses this range?)
1629 // Emit a debug aranges section, containing a CU lookup for any
1630 // address we can tie back to a CU.
1677 if (Cur.CU)
1678 Spans[Cur.CU].push_back(Span);
1704 // Try and build the longest span we can within the same CU.
1705 if (Cur.CU != Prev.CU) {
1709 Spans[Prev.CU].push_back(Span);
1724 DwarfCompileUnit *CU = it.first;
1725 CUs.push_back(CU);
1728 // Sort the CU list (again, to ensure consistent output order).
1733 // Emit an arange table for each CU we used.
1734 for (DwarfCompileUnit *CU : CUs) {
1735 std::vector<ArangeSpan> &List = Spans[CU];
1737 // Describe the skeleton CU's offset and length, not the dwo file's.
1738 if (auto *Skel = CU->getSkeleton())
1739 CU = Skel;
1744 sizeof(int32_t) + // Offset of CU in the .debug_info section
1763 Asm->emitDwarfSymbolReference(CU->getLabelBegin());
1854 DwarfCompileUnit &DwarfDebug::constructSkeletonCU(const DwarfCompileUnit &CU) {
1857 CU.getUniqueID(), CU.getCUNode(), Asm, this, &SkeletonHolder);
1863 initSkeletonUnit(CU, NewCU.getUnitDie(), std::move(OwnedUnit));
1900 MCDwarfDwoLineTable *DwarfDebug::getDwoLineTable(const DwarfCompileUnit &CU) {
1904 SplitTypeUnitFileTable.setCompilationDir(CU.getCUNode()->getDirectory());
1919 void DwarfDebug::addDwarfTypeUnitType(DwarfCompileUnit &CU,
1930 CU.addDIETypeSignature(RefDie, *TU);
1938 InfoHolder.getUnits().size() + TypeUnitsUnderConstruction.size(), CU, Asm,
1939 this, &InfoHolder, getDwoLineTable(CU));
1947 CU.getLanguage());
1955 CU.applyStmtList(UnitDie);
1976 // Construct this type in the CU directly.
1980 CU.constructTypeDIE(RefDie, cast<DICompositeType>(CTy));
1989 CU.addDIETypeSignature(RefDie, NewTU);