[PATCH] D106931: [Attributor] Change function internalization to not replace uses in internalized callers

Joseph Huber via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jul 27 19:53:40 PDT 2021


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

The current implementation of function internalization creats a copy of each
function and replaces every use. This has the downside that the external
versions of the functions will call into the internalized versions of the
functions. This prevents them from being fully independent of eachother. This
patch replaces the current internalization scheme with a method that creates
all the copies of the functions intended to be internalized first and then
replaces the uses as long as their caller is not already internalized.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D106931

Files:
  llvm/include/llvm/Transforms/IPO/Attributor.h
  llvm/lib/Transforms/IPO/Attributor.cpp
  llvm/lib/Transforms/IPO/OpenMPOpt.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D106931.362267.patch
Type: text/x-patch
Size: 7349 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210728/98ee2c62/attachment.bin>


More information about the llvm-commits mailing list