HomePhabricator

[Attributor] Use internalized version of non-exact functions

Authored by bbn on Aug 15 2020, 4:17 AM.

Description

[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

Details

Committed
bbnAug 15 2020, 5:23 AM
Reviewer
jdoerfert
Differential Revision
D84167: [Attributor] Use internalized version of non-exact functions
Parents
rG4a0b95dc5e4d: [DWARFYAML] Simplify isEmpty(). NFC.
Branches
Unknown
Tags
Unknown