[all-commits] [llvm/llvm-project] 751336: [Attributor] Function signature rewrite infrastruc...

Johannes Doerfert via All-commits all-commits at lists.llvm.org
Tue Dec 31 00:32:11 PST 2019


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 751336340dabc58f178a24f7b169f33366316f70
      https://github.com/llvm/llvm-project/commit/751336340dabc58f178a24f7b169f33366316f70
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2019-12-31 (Tue, 31 Dec 2019)

  Changed paths:
    M llvm/include/llvm/Transforms/IPO/Attributor.h
    M llvm/lib/Transforms/IPO/Attributor.cpp
    M llvm/test/Transforms/Attributor/ArgumentPromotion/control-flow.ll
    M llvm/test/Transforms/Attributor/ArgumentPromotion/dbg.ll
    M llvm/test/Transforms/Attributor/ArgumentPromotion/nonzero-address-spaces.ll
    M llvm/test/Transforms/Attributor/ArgumentPromotion/pr27568.ll
    M llvm/test/Transforms/Attributor/ArgumentPromotion/reserve-tbaa.ll
    M llvm/test/Transforms/Attributor/liveness.ll
    M llvm/test/Transforms/Attributor/noalias.ll
    M llvm/test/Transforms/Attributor/nonnull.ll

  Log Message:
  -----------
  [Attributor] Function signature rewrite infrastructure

As part of the Attributor manifest we want to change the signature of
functions. This patch introduces a fairly generic interface to do so.
As a first, very simple, use case, we remove unused arguments. A second
use case, pointer privatization, will be committed with this patch as
well.

A lot of the code and ideas are taken from argument promotion and we
run all argument promotion tests through this framework as well.

Reviewed By: uenoku

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




More information about the All-commits mailing list