[PATCH] D84167: [Attributor] Use internalized version of non-exact functions

Luofan Chen via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 20 05:55:47 PDT 2020


bbn created this revision.
bbn added a reviewer: jdoerfert.
Herald added subscribers: llvm-commits, okura, kuter, uenoku, hiraditya.
Herald added a reviewer: sstefan1.
Herald added a reviewer: uenoku.
Herald added a reviewer: homerdin.
Herald added a reviewer: baziotis.
Herald added a project: LLVM.

This patch internalize non-exact functions and replaces of their uses
with the internalized version. Doing this enables the analysis of
non-exact functions.

We can do this because some non-exact functions with the same name
whose linkage is `linkonce_odr` or `weak_odr` should have the same
semantics, so we can safely internalize and replace use of them (the
result of the other version of this function should be the same.).
Note that not all functions can be internalized, e.g., function with
`linkonce` or `weak` linkage.

For now when specified in commandline, we internalize all functions
that meet the requirements without calculating the cost of such
internalzation.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D84167

Files:
  llvm/lib/Transforms/IPO/Attributor.cpp
  llvm/test/Transforms/Attributor/internalize.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D84167.279211.patch
Type: text/x-patch
Size: 7507 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200720/8017848d/attachment.bin>


More information about the llvm-commits mailing list