[all-commits] [llvm/llvm-project] 87a85f: [Attributor] Use internalized version of non-exact...

hellobbn via All-commits all-commits at lists.llvm.org
Sat Aug 15 05:24:32 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 87a85f3d57f55f5652ec44f77816c7c9457545fa
      https://github.com/llvm/llvm-project/commit/87a85f3d57f55f5652ec44f77816c7c9457545fa
  Author: Luofan Chen <clfbbn at gmail.com>
  Date:   2020-08-15 (Sat, 15 Aug 2020)

  Changed paths:
    M llvm/lib/Transforms/IPO/Attributor.cpp
    A llvm/test/Transforms/Attributor/internalize.ll

  Log Message:
  -----------
  [Attributor] Use internalized version of non-exact functions

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.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D84167




More information about the All-commits mailing list