[PATCH] D29580: [PM] Port ArgumentPromotion to the new pass manager.

Chandler Carruth via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Feb 6 02:22:53 PST 2017


chandlerc created this revision.
Herald added a subscriber: mcrosier.

Now that the call graph supports efficient replacement of a function and
spurious reference edges, we can port ArgumentPromotion to the new pass
manager very easily.

The old PM-specific bits are sunk into callbacks that the new PM simply
doesn't use. Unlike the old PM, the new PM simply does argument
promotion and afterward does the update to LCG reflecting the promoted
function.

Depends on https://reviews.llvm.org/D29579.


https://reviews.llvm.org/D29580

Files:
  include/llvm/Transforms/IPO/ArgumentPromotion.h
  lib/Passes/PassBuilder.cpp
  lib/Passes/PassRegistry.def
  lib/Transforms/IPO/ArgumentPromotion.cpp
  test/Transforms/ArgumentPromotion/aggregate-promote.ll
  test/Transforms/ArgumentPromotion/attrs.ll
  test/Transforms/ArgumentPromotion/byval-2.ll
  test/Transforms/ArgumentPromotion/byval.ll
  test/Transforms/ArgumentPromotion/callgraph-update.ll
  test/Transforms/ArgumentPromotion/chained.ll
  test/Transforms/ArgumentPromotion/control-flow.ll
  test/Transforms/ArgumentPromotion/control-flow2.ll
  test/Transforms/ArgumentPromotion/crash.ll
  test/Transforms/ArgumentPromotion/dbg.ll
  test/Transforms/ArgumentPromotion/fp80.ll
  test/Transforms/ArgumentPromotion/inalloca.ll
  test/Transforms/ArgumentPromotion/pr27568.ll
  test/Transforms/ArgumentPromotion/reserve-tbaa.ll
  test/Transforms/ArgumentPromotion/sret.ll
  test/Transforms/ArgumentPromotion/tail.ll
  test/Transforms/ArgumentPromotion/variadic.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D29580.87205.patch
Type: text/x-patch
Size: 16895 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170206/d78a524c/attachment.bin>


More information about the llvm-commits mailing list