Lines Matching refs:Entry
124 LiveRootWorklistActionTy Action, const UnitEntryPairTy &Entry, in addActionToRootEntriesWorkList() argument
127 RootEntriesWorkList.emplace_back(Action, Entry, *ReferencedBy); in addActionToRootEntriesWorkList()
131 RootEntriesWorkList.emplace_back(Action, Entry); in addActionToRootEntriesWorkList()
135 const UnitEntryPairTy &Entry, std::optional<UnitEntryPairTy> ReferencedBy, in collectRootsToKeep() argument
138 Entry.CU->getFirstChildEntry(Entry.DieEntry); in collectRootsToKeep()
140 CurChild = Entry.CU->getSiblingEntry(CurChild)) { in collectRootsToKeep()
141 UnitEntryPairTy ChildEntry(Entry.CU, CurChild); in collectRootsToKeep()
142 CompileUnit::DIEInfo &ChildInfo = Entry.CU->getDIEInfo(CurChild); in collectRootsToKeep()
200 if (Entry.DieEntry->getTag() == dwarf::DW_TAG_compile_unit) { in collectRootsToKeep()
273 const UnitEntryPairTy &Entry) { in setPlainDwarfPlacementRec() argument
274 CompileUnit::DIEInfo &Info = Entry.CU->getDIEInfo(Entry.DieEntry); in setPlainDwarfPlacementRec()
281 markParentsAsKeepingChildren(Entry); in setPlainDwarfPlacementRec()
284 Entry.CU->getFirstChildEntry(Entry.DieEntry); in setPlainDwarfPlacementRec()
286 CurChild = Entry.CU->getSiblingEntry(CurChild)) in setPlainDwarfPlacementRec()
287 setPlainDwarfPlacementRec(UnitEntryPairTy{Entry.CU, CurChild}); in setPlainDwarfPlacementRec()
290 static bool isNamespaceLikeEntry(const DWARFDebugInfoEntry *Entry) { in isNamespaceLikeEntry() argument
291 switch (Entry->getTag()) { in isNamespaceLikeEntry()
324 bool isAlreadyMarked(const UnitEntryPairTy &Entry, in isAlreadyMarked() argument
326 return isAlreadyMarked(Entry.CU->getDIEInfo(Entry.DieEntry), NewPlacement); in isAlreadyMarked()
330 const UnitEntryPairTy &Entry) { in markParentsAsKeepingChildren() argument
331 if (Entry.DieEntry->getAbbreviationDeclarationPtr() == nullptr) in markParentsAsKeepingChildren()
334 CompileUnit::DIEInfo &Info = Entry.CU->getDIEInfo(Entry.DieEntry); in markParentsAsKeepingChildren()
342 std::optional<uint32_t> ParentIdx = Entry.DieEntry->getParentIdx(); in markParentsAsKeepingChildren()
345 Entry.CU->getDebugInfoEntry(*ParentIdx); in markParentsAsKeepingChildren()
346 CompileUnit::DIEInfo &ParentInfo = Entry.CU->getDIEInfo(*ParentIdx); in markParentsAsKeepingChildren()
358 UnitEntryPairTy{Entry.CU, ParentEntry}, std::nullopt); in markParentsAsKeepingChildren()
373 UnitEntryPairTy{Entry.CU, ParentEntry}, std::nullopt); in markParentsAsKeepingChildren()
391 getFinalPlacementForEntry(const UnitEntryPairTy &Entry, in getFinalPlacementForEntry() argument
394 CompileUnit::DIEInfo &EntryInfo = Entry.CU->getDIEInfo(Entry.DieEntry); in getFinalPlacementForEntry()
399 if (Entry.DieEntry->getTag() == dwarf::DW_TAG_variable) { in getFinalPlacementForEntry()
430 const UnitEntryPairTy &Entry, bool InterCUProcessingStarted, in markDIEEntryAsKeptRec() argument
432 if (Entry.DieEntry->getAbbreviationDeclarationPtr() == nullptr) in markDIEEntryAsKeptRec()
435 CompileUnit::DIEInfo &Info = Entry.CU->getDIEInfo(Entry.DieEntry); in markDIEEntryAsKeptRec()
439 Entry, in markDIEEntryAsKeptRec()
446 if (isAlreadyMarked(Entry, Placement)) in markDIEEntryAsKeptRec()
454 markParentsAsKeepingChildren(Entry); in markDIEEntryAsKeptRec()
457 Entry.DieEntry->getTag() == dwarf::DW_TAG_subprogram ? Entry : RootEntry; in markDIEEntryAsKeptRec()
461 if (!maybeAddReferencedRoots(Action, FinalRootEntry, Entry, in markDIEEntryAsKeptRec()
472 if (Entry.DieEntry->getTag() == dwarf::DW_TAG_subprogram && in markDIEEntryAsKeptRec()
484 Entry.CU->getFirstChildEntry(Entry.DieEntry); in markDIEEntryAsKeptRec()
486 CurChild = Entry.CU->getSiblingEntry(CurChild)) { in markDIEEntryAsKeptRec()
487 CompileUnit::DIEInfo ChildInfo = Entry.CU->getDIEInfo(CurChild); in markDIEEntryAsKeptRec()
529 Action, FinalRootEntry, UnitEntryPairTy{Entry.CU, CurChild}, in markDIEEntryAsKeptRec()
539 Entry.CU->getFirstChildEntry(Entry.DieEntry); in markDIEEntryAsKeptRec()
541 CurChild = Entry.CU->getSiblingEntry(CurChild)) { in markDIEEntryAsKeptRec()
542 CompileUnit::DIEInfo ChildInfo = Entry.CU->getDIEInfo(CurChild); in markDIEEntryAsKeptRec()
556 Action, FinalRootEntry, UnitEntryPairTy{Entry.CU, CurChild}, in markDIEEntryAsKeptRec()
614 const UnitEntryPairTy &Entry, bool InterCUProcessingStarted, in maybeAddReferencedRoots() argument
616 const auto *Abbrev = Entry.DieEntry->getAbbreviationDeclarationPtr(); in maybeAddReferencedRoots()
620 DWARFUnit &Unit = Entry.CU->getOrigUnit(); in maybeAddReferencedRoots()
623 Entry.DieEntry->getOffset() + getULEB128Size(Abbrev->getCode()); in maybeAddReferencedRoots()
637 std::optional<UnitEntryPairTy> RefDie = Entry.CU->resolveDIEReference( in maybeAddReferencedRoots()
642 Entry.CU->warn("cann't find referenced DIE", Entry.DieEntry); in maybeAddReferencedRoots()
649 Entry.CU->setInterconnectedCU(); in maybeAddReferencedRoots()
654 assert((Entry.CU->getUniqueID() == RefDie->CU->getUniqueID() || in maybeAddReferencedRoots()
694 DependencyTracker::getRootForSpecifiedEntry(UnitEntryPairTy Entry) { in getRootForSpecifiedEntry() argument
695 UnitEntryPairTy Result = Entry; in getRootForSpecifiedEntry()
698 switch (Entry.DieEntry->getTag()) { in getRootForSpecifiedEntry()
725 bool DependencyTracker::isLiveVariableEntry(const UnitEntryPairTy &Entry, in isLiveVariableEntry() argument
727 DWARFDie DIE = Entry.CU->getDIE(Entry.DieEntry); in isLiveVariableEntry()
728 CompileUnit::DIEInfo &Info = Entry.CU->getDIEInfo(DIE); in isLiveVariableEntry()
743 Entry.CU->getContaingFile().Addresses->getVariableRelocAdjustment( in isLiveVariableEntry()
744 DIE, Entry.CU->getGlobalData().getOptions().Verbose); in isLiveVariableEntry()
753 !Entry.CU->getGlobalData().getOptions().KeepFunctionForStatic) in isLiveVariableEntry()
759 if (Entry.CU->getGlobalData().getOptions().Verbose) { in isLiveVariableEntry()
763 DumpOpts.Verbose = Entry.CU->getGlobalData().getOptions().Verbose; in isLiveVariableEntry()
770 bool DependencyTracker::isLiveSubprogramEntry(const UnitEntryPairTy &Entry) { in isLiveSubprogramEntry() argument
771 DWARFDie DIE = Entry.CU->getDIE(Entry.DieEntry); in isLiveSubprogramEntry()
772 CompileUnit::DIEInfo &Info = Entry.CU->getDIEInfo(Entry.DieEntry); in isLiveSubprogramEntry()
786 Entry.CU->getContaingFile().Addresses->getSubprogramRelocAdjustment( in isLiveSubprogramEntry()
787 DIE, Entry.CU->getGlobalData().getOptions().Verbose); in isLiveSubprogramEntry()
796 Entry.CU->warn("function without high_pc. Range will be discarded.", in isLiveSubprogramEntry()
802 Entry.CU->warn("low_pc greater than high_pc. Range will be discarded.", in isLiveSubprogramEntry()
807 if (Entry.CU->hasLabelAt(*LowPc)) in isLiveSubprogramEntry()
815 if (dwarf::toAddress(Entry.CU->find(Entry.DieEntry, dwarf::DW_AT_high_pc)) in isLiveSubprogramEntry()
819 Entry.CU->addLabelLowPc(*LowPc, *RelocAdjustment); in isLiveSubprogramEntry()
824 if (Entry.CU->getGlobalData().getOptions().Verbose) { in isLiveSubprogramEntry()
828 DumpOpts.Verbose = Entry.CU->getGlobalData().getOptions().Verbose; in isLiveSubprogramEntry()
835 Entry.CU->addFunctionRange(*LowPc, *HighPc, *RelocAdjustment); in isLiveSubprogramEntry()