reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

Derived Classes

tools/lld/include/lld/Core/Simple.h
  114 class SimpleReference : public Reference,
tools/lld/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp
  738   class NormalizedReference : public lld::Reference {

References

tools/lld/include/lld/Core/DefinedAtom.h
  294     const Reference *operator*() const {
  298     const Reference *operator->() const {
  326   virtual void addReference(Reference::KindNamespace ns,
  327                             Reference::KindArch arch,
  328                             Reference::KindValue kindValue, uint64_t off,
  329                             const Atom *target, Reference::Addend a) {
  365   virtual const Reference *derefIterator(const void *iter) const = 0;
tools/lld/include/lld/Core/Reader.h
   92   bool referenceKindFromString(StringRef inputStr, Reference::KindNamespace &ns,
   93                                Reference::KindArch &a,
   94                                Reference::KindValue &value) const;
   98   bool referenceKindToString(Reference::KindNamespace ns, Reference::KindArch a,
   98   bool referenceKindToString(Reference::KindNamespace ns, Reference::KindArch a,
   99                              Reference::KindValue value, StringRef &) const;
  118     Reference::KindValue  value;
  125   void addKindTable(Reference::KindNamespace ns, Reference::KindArch arch,
  125   void addKindTable(Reference::KindNamespace ns, Reference::KindArch arch,
  130     Reference::KindNamespace  ns;
  131     Reference::KindArch       arch;
tools/lld/include/lld/Core/Simple.h
  114 class SimpleReference : public Reference,
  117   SimpleReference(Reference::KindNamespace ns, Reference::KindArch arch,
  117   SimpleReference(Reference::KindNamespace ns, Reference::KindArch arch,
  118                   Reference::KindValue value, uint64_t off, const Atom *t,
  119                   Reference::Addend a)
  123       : Reference(Reference::KindNamespace::all, Reference::KindArch::all, 0),
  123       : Reference(Reference::KindNamespace::all, Reference::KindArch::all, 0),
  189   const Reference *derefIterator(const void *it) const override {
  200   void addReference(Reference::KindNamespace ns,
  201                     Reference::KindArch arch,
  202                     Reference::KindValue kindValue, uint64_t off,
  203                     const Atom *target, Reference::Addend a) override {
tools/lld/lib/Core/Reader.cpp
   53     {Reference::kindLayoutAfter, "layout-after"},
   54     {Reference::kindAssociate, "associate"},
   58   addKindTable(Reference::KindNamespace::all, Reference::KindArch::all,
   58   addKindTable(Reference::KindNamespace::all, Reference::KindArch::all,
   70 void Registry::addKindTable(Reference::KindNamespace ns,
   71                             Reference::KindArch arch,
   78                                        Reference::KindNamespace &ns,
   79                                        Reference::KindArch &arch,
   80                                        Reference::KindValue &value) const {
   94 bool Registry::referenceKindToString(Reference::KindNamespace ns,
   95                                      Reference::KindArch arch,
   96                                      Reference::KindValue value,
tools/lld/lib/Core/Resolver.cpp
  300       for (const Reference *ref : *defAtom) {
  305         if (ref->kindNamespace() == lld::Reference::KindNamespace::all &&
  306             ref->kindValue() == lld::Reference::kindAssociate) {
  327     for (const Reference *ref : *defAtom)
  336 static bool isBackref(const Reference *ref) {
  337   if (ref->kindNamespace() != lld::Reference::KindNamespace::all)
  339   return (ref->kindValue() == lld::Reference::kindLayoutAfter);
  357       for (const Reference *ref : *defAtom)
tools/lld/lib/ReaderWriter/MachO/ArchHandler.cpp
   50 bool ArchHandler::isLazyPointer(const Reference &ref) {
   53   if (ref.kindNamespace() != Reference::KindNamespace::mach_o)
  157     if (ref->kindNamespace() == Reference::KindNamespace::mach_o &&
tools/lld/lib/ReaderWriter/MachO/ArchHandler.h
   41   virtual Reference::KindArch kindArch() = 0;
   45   virtual bool isCallSite(const Reference &) = 0;
   48   virtual bool isGOTAccess(const Reference &, bool &canBypassGOT) {
   53   virtual bool isTLVAccess(const Reference &) const { return false; }
   56   virtual void updateReferenceToTLV(const Reference *) {}
   59   virtual bool isNonCallBranch(const Reference &) = 0;
   62   virtual void updateReferenceToGOT(const Reference *, bool targetIsNowGOT) {}
   70   virtual Reference::KindValue imageOffsetKind() = 0;
   75   virtual Reference::KindValue imageOffsetKindIndirect() = 0;
   84   virtual Reference::KindValue unwindRefToPersonalityFunctionKind() = 0;
   87   virtual Reference::KindValue unwindRefToCIEKind() = 0;
   92   virtual Reference::KindValue unwindRefToFunctionKind() = 0;
   98   virtual Reference::KindValue unwindRefToEhFrameKind() = 0;
  102   virtual Reference::KindValue pointerKind() = 0;
  108   virtual bool isPointer(const Reference &) = 0;
  112   virtual bool isLazyPointer(const Reference &);
  116   virtual Reference::KindValue lazyImmediateLocationKind() = 0;
  124                         const lld::Atom **, Reference::Addend *)>
  143                            Reference::KindValue *kind,
  145                            Reference::Addend *addend) = 0;
  159                            Reference::KindValue *kind,
  161                            Reference::Addend *addend) = 0;
  190                                         const Reference &ref,
  205   virtual bool isDataInCodeTransition(Reference::KindValue refKind) {
  211   virtual Reference::KindValue dataInCodeTransitionStart(
  218   virtual Reference::KindValue dataInCodeTransitionEnd(
  236     Reference::KindArch arch;
tools/lld/lib/ReaderWriter/MachO/ArchHandler_arm.cpp
   35   Reference::KindArch kindArch() override { return Reference::KindArch::ARM; }
   35   Reference::KindArch kindArch() override { return Reference::KindArch::ARM; }
   38   bool isCallSite(const Reference &) override;
   39   bool isPointer(const Reference &) override;
   41   bool isNonCallBranch(const Reference &) override;
   46   Reference::KindValue imageOffsetKind() override {
   49   Reference::KindValue imageOffsetKindIndirect() override {
   53   Reference::KindValue unwindRefToPersonalityFunctionKind() override {
   57   Reference::KindValue unwindRefToCIEKind() override {
   61   Reference::KindValue unwindRefToFunctionKind() override {
   65   Reference::KindValue unwindRefToEhFrameKind() override {
   69   Reference::KindValue lazyImmediateLocationKind() override {
   73   Reference::KindValue pointerKind() override {
   88                                Reference::KindValue *kind,
   90                                Reference::Addend *addend) override;
   99                            Reference::KindValue *kind,
  101                            Reference::Addend *addend) override;
  111                                 const Reference &ref,
  119   bool isDataInCodeTransition(Reference::KindValue refKind) override {
  131   Reference::KindValue dataInCodeTransitionStart(
  136   Reference::KindValue dataInCodeTransitionEnd(
  152   enum ArmKind : Reference::KindValue {
  200   void applyFixupFinal(const Reference &ref, uint8_t *location,
  205   void applyFixupRelocatable(const Reference &ref, uint8_t *location,
  244   { Reference::KindArch::ARM, pointer32, 0, 0 },
  245   { Reference::KindArch::ARM, lazyPointer, 0, 0 },
  248   { Reference::KindArch::ARM, pointer32, 0, 0 },
  259   { Reference::KindArch::ARM, delta32, 12, 0 },
  267   { Reference::KindArch::ARM, lazyImmediateLocation, 8, 0 },
  268   { Reference::KindArch::ARM, arm_b24, 4, 0 },
  289   { Reference::KindArch::ARM, delta32, 28, 0xC },
  291   { Reference::KindArch::ARM, delta32, 32, 0x04 },
  300 bool ArchHandler_arm::isCallSite(const Reference &ref) {
  312 bool ArchHandler_arm::isPointer(const Reference &ref) {
  316 bool ArchHandler_arm::isNonCallBranch(const Reference &ref) {
  341   for (const Reference *ref : stubAtom) {
  345       for (const Reference *ref2 : *lp) {
  528     FindAtomBySymbolIndex atomFromSymbolIndex, Reference::KindValue *kind,
  529     const lld::Atom **target, Reference::Addend *addend) {
  644                                      Reference::KindValue *kind,
  646                                      Reference::Addend *addend) {
  798   Reference::Addend offsetInTo;
  799   Reference::Addend offsetInFrom;
  904 void ArchHandler_arm::applyFixupFinal(const Reference &ref, uint8_t *loc,
  909   if (ref.kindNamespace() != Reference::KindNamespace::mach_o)
 1023   for (const Reference *ref : atom) {
 1066 void ArchHandler_arm::applyFixupRelocatable(const Reference &ref, uint8_t *loc,
 1072   if (ref.kindNamespace() != Reference::KindNamespace::mach_o)
 1184                                    const Reference &ref,
 1189   if (ref.kindNamespace() != Reference::KindNamespace::mach_o)
 1396     atom.addReference(Reference::KindNamespace::mach_o,
 1397                       Reference::KindArch::ARM, modeThumbCode, 0, &atom, 0);
 1402   for (const Reference *ref : atom) {
 1405     if (ref->kindNamespace() != Reference::KindNamespace::mach_o)
 1419     addReference(Reference::KindNamespace::mach_o, Reference::KindArch::ARM,
 1419     addReference(Reference::KindNamespace::mach_o, Reference::KindArch::ARM,
 1421     addReference(Reference::KindNamespace::mach_o, Reference::KindArch::ARM,
 1421     addReference(Reference::KindNamespace::mach_o, Reference::KindArch::ARM,
 1466     addReference(Reference::KindNamespace::mach_o, Reference::KindArch::ARM,
 1466     addReference(Reference::KindNamespace::mach_o, Reference::KindArch::ARM,
tools/lld/lib/ReaderWriter/MachO/ArchHandler_arm64.cpp
   38   Reference::KindArch kindArch() override {
   39     return Reference::KindArch::AArch64;
   43   bool isGOTAccess(const Reference &ref, bool &canBypassGOT) override {
   44     if (ref.kindNamespace() != Reference::KindNamespace::mach_o)
   63   void updateReferenceToGOT(const Reference *ref, bool targetNowGOT) override {
   91   bool isCallSite(const Reference &) override;
   92   bool isNonCallBranch(const Reference &) override {
   96   bool isPointer(const Reference &) override;
  102   Reference::KindValue imageOffsetKind() override {
  105   Reference::KindValue imageOffsetKindIndirect() override {
  109   Reference::KindValue unwindRefToPersonalityFunctionKind() override {
  113   Reference::KindValue unwindRefToCIEKind() override {
  117   Reference::KindValue unwindRefToFunctionKind() override {
  121   Reference::KindValue unwindRefToEhFrameKind() override {
  125   Reference::KindValue pointerKind() override {
  129   Reference::KindValue lazyImmediateLocationKind() override {
  143                                Reference::KindValue *kind,
  145                                Reference::Addend *addend) override;
  154                            Reference::KindValue *kind,
  156                            Reference::Addend *addend) override;
  170                                 const Reference &ref,
  180   enum Arm64Kind : Reference::KindValue {
  219   void applyFixupFinal(const Reference &ref, uint8_t *location,
  224   void applyFixupRelocatable(const Reference &ref, uint8_t *location,
  271   { Reference::KindArch::AArch64, pointer64, 0, 0 },
  272   { Reference::KindArch::AArch64, lazyPointer, 0, 0 },
  275   { Reference::KindArch::AArch64, pointer64, 0, 0 },
  285   { Reference::KindArch::AArch64, page21, 0, 0 },
  293   { Reference::KindArch::AArch64, lazyImmediateLocation, 8, 0 },
  294   { Reference::KindArch::AArch64, branch26, 4, 0 },
  309   { Reference::KindArch::AArch64, page21,   0, 0 },
  311   { Reference::KindArch::AArch64, page21,   12, 0 },
  315 bool ArchHandler_arm64::isCallSite(const Reference &ref) {
  316   if (ref.kindNamespace() != Reference::KindNamespace::mach_o)
  322 bool ArchHandler_arm64::isPointer(const Reference &ref) {
  323   if (ref.kindNamespace() != Reference::KindNamespace::mach_o)
  326   Reference::KindValue kind = ref.kindValue();
  381     FindAtomBySymbolIndex atomFromSymbolIndex, Reference::KindValue *kind,
  382     const lld::Atom **target, Reference::Addend *addend) {
  476     FindAtomBySymbolIndex atomFromSymbolIndex, Reference::KindValue *kind,
  477     const lld::Atom **target, Reference::Addend *addend) {
  563   for (const Reference *ref : atom) {
  583 void ArchHandler_arm64::applyFixupFinal(const Reference &ref, uint8_t *loc,
  589   if (ref.kindNamespace() != Reference::KindNamespace::mach_o)
  689 void ArchHandler_arm64::applyFixupRelocatable(const Reference &ref,
  695   if (ref.kindNamespace() != Reference::KindNamespace::mach_o)
  775     const DefinedAtom &atom, uint64_t atomSectionOffset, const Reference &ref,
  779   if (ref.kindNamespace() != Reference::KindNamespace::mach_o)
tools/lld/lib/ReaderWriter/MachO/ArchHandler_x86.cpp
   37   Reference::KindArch kindArch() override { return Reference::KindArch::x86; }
   37   Reference::KindArch kindArch() override { return Reference::KindArch::x86; }
   40   bool isCallSite(const Reference &) override;
   41   bool isNonCallBranch(const Reference &) override {
   45   bool isPointer(const Reference &) override;
   52   Reference::KindValue imageOffsetKind() override {
   56   Reference::KindValue imageOffsetKindIndirect() override {
   60   Reference::KindValue unwindRefToPersonalityFunctionKind() override {
   64   Reference::KindValue unwindRefToCIEKind() override {
   68   Reference::KindValue unwindRefToFunctionKind() override{
   72   Reference::KindValue lazyImmediateLocationKind() override {
   76   Reference::KindValue unwindRefToEhFrameKind() override {
   80   Reference::KindValue pointerKind() override {
   94                                Reference::KindValue *kind,
   96                                Reference::Addend *addend) override;
  105                            Reference::KindValue *kind,
  107                            Reference::Addend *addend) override;
  117                                 const Reference &ref,
  123   bool isDataInCodeTransition(Reference::KindValue refKind) override {
  127   Reference::KindValue dataInCodeTransitionStart(
  132   Reference::KindValue dataInCodeTransitionEnd(
  141   enum X86Kind : Reference::KindValue {
  163   void applyFixupFinal(const Reference &ref, uint8_t *location,
  167   void applyFixupRelocatable(const Reference &ref, uint8_t *location,
  197   { Reference::KindArch::x86, pointer32, 0, 0 },
  198   { Reference::KindArch::x86, lazyPointer, 0, 0 },
  201   { Reference::KindArch::x86, pointer32, 0, 0 },
  209   { Reference::KindArch::x86, abs32, 2, 0 },
  216   { Reference::KindArch::x86, lazyImmediateLocation, 1, 0 },
  217   { Reference::KindArch::x86, branch32, 6, 0 },
  229   { Reference::KindArch::x86, abs32, 1, 0 },
  231   { Reference::KindArch::x86, abs32, 7, 0 },
  235 bool ArchHandler_x86::isCallSite(const Reference &ref) {
  239 bool ArchHandler_x86::isPointer(const Reference &ref) {
  257                                   Reference::KindValue *kind,
  259                                   Reference::Addend *addend) {
  356                                       Reference::KindValue *kind,
  358                                       Reference::Addend *addend) {
  365   Reference::Addend offsetInTo;
  366   Reference::Addend offsetInFrom;
  419   for (const Reference *ref : atom) {
  439 void ArchHandler_x86::applyFixupFinal(const Reference &ref, uint8_t *loc,
  443   if (ref.kindNamespace() != Reference::KindNamespace::mach_o)
  481 void ArchHandler_x86::applyFixupRelocatable(const Reference &ref,
  486   if (ref.kindNamespace() != Reference::KindNamespace::mach_o)
  554                                    const Reference &ref,
  559   if (ref.kindNamespace() != Reference::KindNamespace::mach_o)
tools/lld/lib/ReaderWriter/MachO/ArchHandler_x86_64.cpp
   37   Reference::KindArch kindArch() override {
   38     return Reference::KindArch::x86_64;
   42   bool isGOTAccess(const Reference &ref, bool &canBypassGOT) override {
   43     if (ref.kindNamespace() != Reference::KindNamespace::mach_o)
   61   bool isTLVAccess(const Reference &ref) const override {
   67   void updateReferenceToTLV(const Reference *ref) override {
   75   void updateReferenceToGOT(const Reference *ref, bool targetNowGOT) override {
   99   Reference::KindValue imageOffsetKind() override {
  103   Reference::KindValue imageOffsetKindIndirect() override {
  107   Reference::KindValue unwindRefToPersonalityFunctionKind() override {
  111   Reference::KindValue unwindRefToCIEKind() override {
  115   Reference::KindValue unwindRefToFunctionKind() override{
  119   Reference::KindValue lazyImmediateLocationKind() override {
  123   Reference::KindValue unwindRefToEhFrameKind() override {
  127   Reference::KindValue pointerKind() override {
  137   bool isNonCallBranch(const Reference &) override {
  141   bool isCallSite(const Reference &) override;
  142   bool isPointer(const Reference &) override;
  151                                Reference::KindValue *kind,
  153                                Reference::Addend *addend) override;
  162                            Reference::KindValue *kind,
  164                            Reference::Addend *addend) override;
  178                                 const Reference &ref,
  184   bool isDataInCodeTransition(Reference::KindValue refKind) override {
  188   Reference::KindValue dataInCodeTransitionStart(
  193   Reference::KindValue dataInCodeTransitionEnd(
  202   enum X86_64Kind: Reference::KindValue {
  248   Reference::KindValue kindFromReloc(const normalized::Relocation &reloc);
  250   void applyFixupFinal(const Reference &ref, uint8_t *location,
  255   void applyFixupRelocatable(const Reference &ref, uint8_t *location,
  300   { Reference::KindArch::x86_64, pointer64, 0, 0 },
  301   { Reference::KindArch::x86_64, lazyPointer, 0, 0 },
  304   { Reference::KindArch::x86_64, pointer64, 0, 0 },
  312   { Reference::KindArch::x86_64, ripRel32, 2, 0 },
  319   { Reference::KindArch::x86_64, lazyImmediateLocation, 1, 0 },
  320   { Reference::KindArch::x86_64, branch32, 6, 0 },
  333   { Reference::KindArch::x86_64, ripRel32, 3, 0 },
  335   { Reference::KindArch::x86_64, ripRel32, 11, 0 },
  340 bool ArchHandler_x86_64::isCallSite(const Reference &ref) {
  341   if (ref.kindNamespace() != Reference::KindNamespace::mach_o)
  347 bool ArchHandler_x86_64::isPointer(const Reference &ref) {
  348   if (ref.kindNamespace() != Reference::KindNamespace::mach_o)
  351   Reference::KindValue kind = ref.kindValue();
  359 Reference::KindValue
  402                                     Reference::KindValue *kind,
  404                                     Reference::Addend *addend) {
  481                                    Reference::KindValue *kind,
  483                                    Reference::Addend *addend) {
  553   for (const Reference *ref : atom) {
  574     const Reference &ref, uint8_t *loc, uint64_t fixupAddress,
  577   if (ref.kindNamespace() != Reference::KindNamespace::mach_o)
  656 void ArchHandler_x86_64::applyFixupRelocatable(const Reference &ref,
  661   if (ref.kindNamespace() != Reference::KindNamespace::mach_o)
  767                                    const Reference &ref,
  772   if (ref.kindNamespace() != Reference::KindNamespace::mach_o)
tools/lld/lib/ReaderWriter/MachO/CompactUnwindPass.cpp
  244                            Reference::Addend addend = 0) {
  245     addReference(Reference::KindNamespace::mach_o, _archHandler.kindArch(),
  250                          Reference::Addend addend = 0) {
  251     addReference(Reference::KindNamespace::mach_o, _archHandler.kindArch(),
  256     addReference(Reference::KindNamespace::mach_o, _archHandler.kindArch(),
  399     for (const Reference *ref : *atom) {
  507       for (const auto *ref : *cfiAtom) {
tools/lld/lib/ReaderWriter/MachO/GOTPass.cpp
  103       for (const Reference *ref : *atom) {
  164       gotEntry->addReference(Reference::KindNamespace::mach_o, nlInfo.arch,
tools/lld/lib/ReaderWriter/MachO/LayoutPass.cpp
   79     for (const Reference *ref : *atom) {
  341     for (const Reference *r : *ai) {
  342       if (r->kindNamespace() != lld::Reference::KindNamespace::all ||
  343           r->kindValue() != lld::Reference::kindLayoutAfter)
tools/lld/lib/ReaderWriter/MachO/MachONormalizedFileBinaryReader.cpp
  586   addKindTable(Reference::KindNamespace::mach_o, ctx.archHandler().kindArch(),
tools/lld/lib/ReaderWriter/MachO/MachONormalizedFileFromAtoms.cpp
 1149   for (const Reference *ref : *lpAtom) {
 1158   for (const Reference *ref : *stubAtom) {
 1177         for (const Reference *ref : *info.atom) {
 1319       for (const Reference *ref : *atom) {
 1390       for (const Reference *ref : *info.atom) {
 1391         if (ref->kindNamespace() != Reference::KindNamespace::mach_o)
 1434       for (const Reference *ref : *atom) {
 1499     const Reference *helperRef = nullptr;
 1500     for (const Reference *hr : *da) {
tools/lld/lib/ReaderWriter/MachO/MachONormalizedFileToAtoms.cpp
  370         prevAtom->addReference(Reference::KindNamespace::all,
  371                                Reference::KindArch::all,
  372                                Reference::kindLayoutAfter, 0, atom, 0);
  505                         uint64_t addr, Reference::Addend &addend) {
  617     Reference::Addend addend = 0;
  618     Reference::KindValue kind;
  681     inAtom->addReference(Reference::KindNamespace::mach_o,
  736         Reference::Addend addend;
 1156       Reference::Addend addend;
 1159       atom->addReference(Reference::KindNamespace::mach_o, handler.kindArch(),
 1205     const Reference *Ref = *CurrentRef;
 1239     Reference::Addend addend;
 1242     atom->addReference(Reference::KindNamespace::mach_o, handler.kindArch(),
 1520     atom->addReference(Reference::KindNamespace::mach_o, handler->kindArch(),
 1536     atom->addReference(Reference::KindNamespace::mach_o, handler->kindArch(),
tools/lld/lib/ReaderWriter/MachO/ShimPass.cpp
   52       for (const Reference *ref : *atom) {
   91                              const Reference *ref) {
tools/lld/lib/ReaderWriter/MachO/StubsPass.cpp
  224       for (const Reference *ref : *atom) {
  314       for (const Reference *ref : _targetToUses[target]) {
  332   bool isCallSite(const Reference &ref) {
  339     atom->addReference(Reference::KindNamespace::mach_o,
  347     atom->addReference(Reference::KindNamespace::mach_o, refInfo.arch,
  357     atom->addReference(Reference::KindNamespace::mach_o,
  363                          llvm::SmallVector<const Reference *, 8>> TargetToUses;
tools/lld/lib/ReaderWriter/MachO/TLVPass.cpp
   78       for (const Reference *ref : *atom) {
  123     tlvpEntry->addReference(Reference::KindNamespace::mach_o, nlInfo.arch,
tools/lld/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp
   84       for (const lld::Reference *ref : *atom) {
  242   Reference::KindNamespace  ns;
  243   Reference::KindArch       arch;
  244   Reference::KindValue      value;
  738   class NormalizedReference : public lld::Reference {
  741         : lld::Reference(lld::Reference::KindNamespace::all,
  742                          lld::Reference::KindArch::all, 0),
  745     NormalizedReference(IO &io, const lld::Reference *ref)
  756     const lld::Reference *denormalize(IO &io) {
  775     static StringRef targetName(IO &io, const lld::Reference *ref);
  791   static void mapping(IO &io, const lld::Reference *&ref) {
  793     MappingNormalizationHeap<NormalizedReference, const lld::Reference *> keys(
  825       for (const lld::Reference *r : *atom)
  899     const lld::Reference *derefIterator(const void *it) const override {
  910     void addReference(Reference::KindNamespace ns,
  911                       Reference::KindArch arch,
  912                       Reference::KindValue kindValue, uint64_t off,
  913                       const Atom *target, Reference::Addend a) override {
  938     std::vector<const lld::Reference *> _references;
 1264   typedef MappingTraits<const lld::Reference *>::NormalizedReference
 1266   for (const lld::Reference *ref : _references) {
 1279     IO &io, const lld::Reference *ref) {