Lines Matching refs:atom
30 bool SymbolTable::add(const UndefinedAtom &atom) { return addByName(atom); } in add() argument
32 bool SymbolTable::add(const SharedLibraryAtom &atom) { return addByName(atom); } in add() argument
34 bool SymbolTable::add(const AbsoluteAtom &atom) { return addByName(atom); } in add() argument
36 bool SymbolTable::add(const DefinedAtom &atom) { in add() argument
37 if (!atom.name().empty() && in add()
38 atom.scope() != DefinedAtom::scopeTranslationUnit) { in add()
40 assert(atom.merge() != DefinedAtom::mergeByContent); in add()
42 return addByName(atom); in add()
44 if (atom.merge() == DefinedAtom::mergeByContent) { in add()
46 assert(atom.name().empty()); in add()
48 if (atom.permissions() == DefinedAtom::permR__) in add()
49 return addByContent(atom); in add()
207 unsigned SymbolTable::AtomMappingInfo::getHashValue(const DefinedAtom *atom) { in getHashValue() argument
208 auto content = atom->rawContent(); in getHashValue()
209 return llvm::hash_combine(atom->size(), in getHashValue()
210 atom->contentType(), in getHashValue()
257 const Atom *SymbolTable::replacement(const Atom *atom) { in replacement() argument
261 AtomToAtom::iterator pos = _replacedAtoms.find(atom); in replacement()
263 return atom; in replacement()
264 atom = pos->second; in replacement()
268 bool SymbolTable::isCoalescedAway(const Atom *atom) { in isCoalescedAway() argument
269 return _replacedAtoms.count(atom) > 0; in isCoalescedAway()
275 const Atom *atom = it.second; in undefines() local
276 assert(atom != nullptr); in undefines()
277 if (const auto *undef = dyn_cast<const UndefinedAtom>(atom)) in undefines()