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

Joseph Huber via All-commits all-commits at lists.llvm.org
Wed Aug 4 16:35:40 PDT 2021


  Branch: refs/heads/release/13.x
  Home:   https://github.com/llvm/llvm-project
  Commit: 6d04cd42ebf04907cb70574b59f9483959031839
      https://github.com/llvm/llvm-project/commit/6d04cd42ebf04907cb70574b59f9483959031839
  Author: Joseph Huber <jhuber6 at vols.utk.edu>
  Date:   2021-08-04 (Wed, 04 Aug 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

(cherry picked from commit adbaa39dfce7a8361d89b6a3b382fd8f50b94727)


  Commit: fd5ec459c3f9dba0e6781ac11695540b0383179b
      https://github.com/llvm/llvm-project/commit/fd5ec459c3f9dba0e6781ac11695540b0383179b
  Author: Joseph Huber <jhuber6 at vols.utk.edu>
  Date:   2021-08-04 (Wed, 04 Aug 2021)

  Changed paths:
    M llvm/test/Transforms/Attributor/internalize.ll

  Log Message:
  -----------
  [Attributor] Don't test internalization in the CGSCC pass.

Summary:
Enabling internalization in the Attributor's CGSCC pass does something
different that we don't expect. Ignore this for now to pass the tests.

(cherry picked from commit 97851a08e2684388dec24fbe46818704052f9dbe)


Compare: https://github.com/llvm/llvm-project/compare/4783a6cdf0a9...fd5ec459c3f9


More information about the All-commits mailing list