[PATCH] D104080: [LLD][LLVM] CG Graph profile using relocations

Alexander Yermolovich via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 23 15:31:51 PDT 2021


ayermolo added inline comments.


================
Comment at: lld/ELF/InputFiles.cpp:674
+      if (sec.sh_info == cgProfileSectionIndex)
+        cgProfileRela = CHECK(getObj().relas(sec), this);
       this->sections[i] = createInputSection(sec);
----------------
ayermolo wrote:
> jrtc27 wrote:
> > ayermolo wrote:
> > > jrtc27 wrote:
> > > > What if it's SHT_REL? This won't fail nicely, it'll give an error about sh_entsize not matching. You should either handle SHT_REL properly (i.e. support it) or not even attempt to get an Elf_Rela for it.
> > > Something like this?
> > Why not error?
> With error it will prevent binary from being linked. I thought warning would be more appropriate so that result will still be a valid binary minus this optimization. I can change to error if you and @MaskRay think that is more appropriate.
> With error it will prevent binary from being linked. I thought warning would be more appropriate so that result will still be a valid binary minus this optimization. I can change to error if you and @MaskRay think that is more appropriate.

readCallGraphsFromObjectFiles will also need to be modified, otherwise it will fatal there due to obj->cgProfileRela.size() != obj->cgProfile.size() * 2


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D104080/new/

https://reviews.llvm.org/D104080



More information about the llvm-commits mailing list