Lines Matching refs:atom

36   for (auto &atom : file.defined().owning_ptrs())  in handleFile()  local
37 doDefinedAtom(std::move(atom)); in handleFile()
38 for (auto &atom : file.undefined().owning_ptrs()) { in handleFile() local
39 if (doUndefinedAtom(std::move(atom))) in handleFile()
42 for (auto &atom : file.sharedLibrary().owning_ptrs()) in handleFile() local
43 doSharedLibraryAtom(std::move(atom)); in handleFile()
44 for (auto &atom : file.absolute().owning_ptrs()) in handleFile() local
45 doAbsoluteAtom(std::move(atom)); in handleFile()
58 const Atom *atom = _symbolTable.findByName(undefName); in forEachUndefines() local
59 if (!isa<UndefinedAtom>(atom) || _symbolTable.isCoalescedAway(atom)) { in forEachUndefines()
94 auto atom = sharedLibrary->exports(undefName); in handleSharedLibrary() local
95 if (atom.get()) in handleSharedLibrary()
96 doSharedLibraryAtom(std::move(atom)); in handleSharedLibrary()
105 bool Resolver::doUndefinedAtom(OwningAtomPtr<UndefinedAtom> atom) { in doUndefinedAtom() argument
108 << llvm::format("0x%09lX", atom.get()) in doUndefinedAtom()
109 << ", name=" << atom.get()->name() << "\n"); in doUndefinedAtom()
112 bool newUndefAdded = _symbolTable.add(*atom.get()); in doUndefinedAtom()
114 _undefines.push_back(atom.get()->name()); in doUndefinedAtom()
117 _atoms.push_back(OwningAtomPtr<Atom>(atom.release())); in doUndefinedAtom()
124 void Resolver::doDefinedAtom(OwningAtomPtr<DefinedAtom> atom) { in doDefinedAtom() argument
127 << llvm::format("0x%09lX", atom.get()) in doDefinedAtom()
129 << atom.get()->file().ordinal() in doDefinedAtom()
131 << atom.get()->ordinal() in doDefinedAtom()
133 << atom.get()->name() in doDefinedAtom()
135 << atom.get()->contentType() in doDefinedAtom()
140 atom.get()->deadStrip() == DefinedAtom::deadStripNever) { in doDefinedAtom()
141 _deadStripRoots.insert(atom.get()); in doDefinedAtom()
145 _symbolTable.add(*atom.get()); in doDefinedAtom()
146 _atoms.push_back(OwningAtomPtr<Atom>(atom.release())); in doDefinedAtom()
149 void Resolver::doSharedLibraryAtom(OwningAtomPtr<SharedLibraryAtom> atom) { in doSharedLibraryAtom() argument
152 << llvm::format("0x%09lX", atom.get()) in doSharedLibraryAtom()
154 << atom.get()->name() in doSharedLibraryAtom()
158 _symbolTable.add(*atom.get()); in doSharedLibraryAtom()
161 _atoms.push_back(OwningAtomPtr<Atom>(atom.release())); in doSharedLibraryAtom()
164 void Resolver::doAbsoluteAtom(OwningAtomPtr<AbsoluteAtom> atom) { in doAbsoluteAtom() argument
167 << llvm::format("0x%09lX", atom.get()) in doAbsoluteAtom()
169 << atom.get()->name() in doAbsoluteAtom()
173 if (atom.get()->scope() != Atom::scopeTranslationUnit) in doAbsoluteAtom()
174 _symbolTable.add(*atom.get()); in doAbsoluteAtom()
177 _atoms.push_back(OwningAtomPtr<Atom>(atom.release())); in doAbsoluteAtom()
298 for (const OwningAtomPtr<Atom> &atom : _atoms) { in updateReferences() local
299 if (const DefinedAtom *defAtom = dyn_cast<DefinedAtom>(atom.get())) { in updateReferences()
307 if (_symbolTable.isCoalescedAway(atom.get())) in updateReferences()
319 void Resolver::markLive(const Atom *atom) { in markLive() argument
321 auto exists = _liveAtoms.insert(atom); in markLive()
326 if (const DefinedAtom *defAtom = dyn_cast<DefinedAtom>(atom)) { in markLive()
355 for (const OwningAtomPtr<Atom> &atom : _atoms) { in deadStripOptimize() local
356 if (const DefinedAtom *defAtom = dyn_cast<DefinedAtom>(atom.get())) in deadStripOptimize()
359 _reverseRef.insert(std::make_pair(ref->target(), atom.get())); in deadStripOptimize()
360 if (const AbsoluteAtom *absAtom = dyn_cast<AbsoluteAtom>(atom.get())) in deadStripOptimize()
366 for (const OwningAtomPtr<Atom> &atom : _atoms) in deadStripOptimize() local
367 if (const DefinedAtom *defAtom = dyn_cast<DefinedAtom>(atom.get())) in deadStripOptimize()
477 for (OwningAtomPtr<Atom> &atom : all) { in addAtoms()
479 if (auto *definedAtom = dyn_cast<DefinedAtom>(atom.get())) { in addAtoms()
493 << llvm::format(" 0x%09lX", atom.get()) in addAtoms()
495 << atom.get()->name() in addAtoms()
499 addAtom(*atom.release()); in addAtoms()