Lines Matching full:cu
68 for (const std::unique_ptr<DWARFUnit> &CU : in addObjectFile() local
70 DWARFDie CUDie = CU->getUnitDIE(); in addObjectFile()
76 OnCUDieLoaded(*CU); in addObjectFile()
258 static void resolveRelativeObjectPath(SmallVectorImpl<char> &Buf, DWARFDie CU) { in resolveRelativeObjectPath() argument
259 sys::path::append(Buf, dwarf::toString(CU.find(dwarf::DW_AT_comp_dir), "")); in resolveRelativeObjectPath()
308 GlobalData.warn("anonymous module skeleton CU for " + PCMFile + ".", in isClangModuleRef()
337 /// If this compile unit is really a skeleton CU that points to a
340 /// A skeleton CU is a CU without children, a DW_AT_gnu_dwo_name
398 for (const auto &CU : ErrOrObj->Dwarf->compile_units()) { in loadClangModule() local
399 OnCUDieLoaded(*CU); in loadClangModule()
401 auto ChildCUDie = CU->getUnitDIE(); in loadClangModule()
433 GlobalData, *CU, UniqueUnitID.fetch_add(1), ModuleName, *ErrOrObj, in loadClangModule()
434 getUnitForOffset, CU->getFormParams(), getEndianness()); in loadClangModule()
497 parallelForEach(CompileUnits, [&](std::unique_ptr<CompileUnit> &CU) { in link() argument
498 linkSingleCompileUnit(*CU, ArtificialTypeUnit); in link()
509 parallelForEach(CompileUnits, [&](std::unique_ptr<CompileUnit> &CU) { in link() argument
510 if (CU->isInterconnectedCU()) { in link()
511 CU->maybeResetToLoadedStage(); in link()
512 linkSingleCompileUnit(*CU, ArtificialTypeUnit, in link()
518 parallelForEach(CompileUnits, [&](std::unique_ptr<CompileUnit> &CU) { in link() argument
519 linkSingleCompileUnit(*CU, ArtificialTypeUnit, in link()
530 parallelForEach(CompileUnits, [&](std::unique_ptr<CompileUnit> &CU) { in link() argument
532 *CU, ArtificialTypeUnit, in link()
538 parallelForEach(CompileUnits, [&](std::unique_ptr<CompileUnit> &CU) { in link() argument
539 if (CU->isInterconnectedCU() && in link()
540 CU->getStage() == CompileUnit::Stage::LivenessAnalysisDone) in link()
541 CU->setStage(CompileUnit::Stage::UpdateDependenciesCompleteness); in link()
545 parallelForEach(CompileUnits, [&](std::unique_ptr<CompileUnit> &CU) { in link() argument
546 linkSingleCompileUnit(*CU, ArtificialTypeUnit, in link()
551 parallelForEach(CompileUnits, [&](std::unique_ptr<CompileUnit> &CU) { in link() argument
552 linkSingleCompileUnit(*CU, ArtificialTypeUnit, in link()
557 parallelForEach(CompileUnits, [&](std::unique_ptr<CompileUnit> &CU) { in link() argument
558 linkSingleCompileUnit(*CU, ArtificialTypeUnit, in link()
563 parallelForEach(CompileUnits, [&](std::unique_ptr<CompileUnit> &CU) { in link() argument
564 linkSingleCompileUnit(*CU, ArtificialTypeUnit, in link()
592 CompileUnit &CU, TypeUnit *ArtificialTypeUnit, in linkSingleCompileUnit() argument
594 if (InterCUProcessingStarted != CU.isInterconnectedCU()) in linkSingleCompileUnit()
598 if (CU.getStage() >= DoUntilStage) in linkSingleCompileUnit()
601 switch (CU.getStage()) { in linkSingleCompileUnit()
605 if (!CU.loadInputDIEs()) { in linkSingleCompileUnit()
608 CU.setStage(CompileUnit::Stage::Skipped); in linkSingleCompileUnit()
610 CU.analyzeDWARFStructure(); in linkSingleCompileUnit()
618 CU.getOrigUnit().getUnitDIE(), nullptr, in linkSingleCompileUnit()
620 CU.setStage(CompileUnit::Stage::PatchesUpdated); in linkSingleCompileUnit()
622 CU.setStage(CompileUnit::Stage::Loaded); in linkSingleCompileUnit()
629 if (!CU.resolveDependenciesAndMarkLiveness(InterCUProcessingStarted, in linkSingleCompileUnit()
636 CU.setStage(CompileUnit::Stage::LivenessAnalysisDone); in linkSingleCompileUnit()
641 if (CU.updateDependenciesCompleteness()) in linkSingleCompileUnit()
646 return CU.updateDependenciesCompleteness(); in linkSingleCompileUnit()
650 CU.setStage(CompileUnit::Stage::UpdateDependenciesCompleteness); in linkSingleCompileUnit()
656 CU.verifyDependencies(); in linkSingleCompileUnit()
661 CU.assignTypeNames(ArtificialTypeUnit->getTypePool())) in linkSingleCompileUnit()
664 CU.setStage(CompileUnit::Stage::TypeNamesAssigned); in linkSingleCompileUnit()
669 if (CU.isClangModule() || in linkSingleCompileUnit()
671 CU.getContaingFile().Addresses->hasValidRelocs()) { in linkSingleCompileUnit()
672 if (Error Err = CU.cloneAndEmit(GlobalData.getTargetTriple(), in linkSingleCompileUnit()
677 CU.setStage(CompileUnit::Stage::Cloned); in linkSingleCompileUnit()
682 CU.updateDieRefPatchesWithClonedOffsets(); in linkSingleCompileUnit()
683 CU.setStage(CompileUnit::Stage::PatchesUpdated); in linkSingleCompileUnit()
688 CU.cleanupDataAfterClonning(); in linkSingleCompileUnit()
689 CU.setStage(CompileUnit::Stage::Cleaned); in linkSingleCompileUnit()
703 CU.error(std::move(Err)); in linkSingleCompileUnit()
704 CU.cleanupDataAfterClonning(); in linkSingleCompileUnit()
705 CU.setStage(CompileUnit::Stage::Skipped); in linkSingleCompileUnit()
861 // Patch size/offsets fields according to the assigned CU offsets. in glueCompileUnitsAndWriteToTheOutput()
889 for (std::unique_ptr<CompileUnit> &CU : Context->CompileUnits) in printStatistic()
891 CU->tryGetSectionDescriptor(DebugSectionKind::DebugInfo)) in printStatistic()
1005 forEachCompileUnit([&](CompileUnit *CU) { in forEachOutputString() argument
1006 CU->forEach([&](SectionDescriptor &OutSection) { in forEachOutputString()
1016 CU->forEachAcceleratorRecord([&](DwarfUnit::AccelInfo &Info) { in forEachOutputString()
1067 for (std::unique_ptr<CompileUnit> &CU : Context->CompileUnits) in forEachObjectSectionsSet()
1068 if (CU->getStage() != CompileUnit::Stage::Skipped) in forEachObjectSectionsSet()
1069 SectionsSetHandler(*CU); in forEachObjectSectionsSet()
1074 function_ref<void(DwarfUnit *CU)> UnitHandler) { in forEachCompileAndTypeUnit()
1086 for (std::unique_ptr<CompileUnit> &CU : Context->CompileUnits) in forEachCompileAndTypeUnit()
1087 if (CU->getStage() != CompileUnit::Stage::Skipped) in forEachCompileAndTypeUnit()
1088 UnitHandler(CU.get()); in forEachCompileAndTypeUnit()
1092 function_ref<void(CompileUnit *CU)> UnitHandler) { in forEachCompileUnit()
1101 for (std::unique_ptr<CompileUnit> &CU : Context->CompileUnits) in forEachCompileUnit()
1102 if (CU->getStage() != CompileUnit::Stage::Skipped) in forEachCompileUnit()
1103 UnitHandler(CU.get()); in forEachCompileUnit()
1216 forEachCompileAndTypeUnit([&](DwarfUnit *CU) { in emitAppleAcceleratorSections() argument
1217 CU->forEachAcceleratorRecord([&](const DwarfUnit::AccelInfo &Info) { in emitAppleAcceleratorSections()
1226 CU->getSectionDescriptor(DebugSectionKind::DebugInfo).StartOffset + in emitAppleAcceleratorSections()
1232 CU->getSectionDescriptor(DebugSectionKind::DebugInfo).StartOffset + in emitAppleAcceleratorSections()
1238 CU->getSectionDescriptor(DebugSectionKind::DebugInfo).StartOffset + in emitAppleAcceleratorSections()
1244 CU->getSectionDescriptor(DebugSectionKind::DebugInfo).StartOffset + in emitAppleAcceleratorSections()
1348 forEachCompileAndTypeUnit([&](DwarfUnit *CU) { in emitDWARFv5DebugNamesSection() argument
1350 CU->forEachAcceleratorRecord([&](const DwarfUnit::AccelInfo &Info) { in emitDWARFv5DebugNamesSection()
1361 Info.Tag, CU->getUniqueID(), in emitDWARFv5DebugNamesSection()
1362 CU->getTag() == dwarf::DW_TAG_type_unit); in emitDWARFv5DebugNamesSection()
1372 CU->getOrCreateSectionDescriptor(DebugSectionKind::DebugInfo) in emitDWARFv5DebugNamesSection()
1374 CUidToIdx[CU->getUniqueID()] = Id++; in emitDWARFv5DebugNamesSection()