[PATCH] D137360: [Linker] Remove nocallback attribute while linking

Johannes Doerfert via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Nov 3 19:40:39 PDT 2022


jdoerfert added a comment.

I somewhat assume we could remove the attribute whenever we actually move a function (lazy linking) rather than for all in the module.
Other than that I'm happy with dropping nocallback *and* inacc* (see https://reviews.llvm.org/D131628#3724307 for the latter).



================
Comment at: llvm/lib/Linker/LinkModules.cpp:530
 
+  // Since nocallback function attribute is treated as a hint on
+  // the module level, it is removed while linking modules.
----------------
mysterymath wrote:
> mysterymath wrote:
> > We'll also need to do this with inaccessiblememonly, inaccessiblemem_or_argmemonly, and the inaccessiblemem option for the memory() attribute.
> Scratch this, it looks like the FunctionAttrs pass rewrites these based on the results of the bitcode link.
We cannot rely on a pass to clean things up. We need to drop inacc* here too, as shown here: https://reviews.llvm.org/D131628#3724307




Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D137360



More information about the llvm-commits mailing list