[all-commits] [llvm/llvm-project] adbaa3: [Attributor] Change function internalization to no...

Joseph Huber via All-commits all-commits at lists.llvm.org
Wed Jul 28 15:57:47 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: adbaa39dfce7a8361d89b6a3b382fd8f50b94727
      https://github.com/llvm/llvm-project/commit/adbaa39dfce7a8361d89b6a3b382fd8f50b94727
  Author: Joseph Huber <jhuber6 at vols.utk.edu>
  Date:   2021-07-28 (Wed, 28 Jul 2021)

  Changed paths:
    M llvm/include/llvm/Transforms/IPO/Attributor.h
    M llvm/lib/Transforms/IPO/Attributor.cpp
    M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
    M llvm/test/Transforms/OpenMP/custom_state_machines.ll

  Log Message:
  -----------
  [Attributor] Change function internalization to not replace uses in internalized callers

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.

Reviewed By: jdoerfert

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




More information about the All-commits mailing list