[PATCH] D108099: [WIP][Attributor] Run Attributor in stages.

Kuter Dinel via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun Aug 15 19:51:37 PDT 2021


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

This patch makes it possible for Attributor deductions to run in stages.
You can seed AbstractAttributes in stages and run fixpoint iteration separately.
This reduces wasted updates for Attributes.

It also makes the Attributor pass run AAIsDead Attribute to run in a seperate
stage.

----------------

WIP Note: This patch reduces the iteartion count for almost all tests :-)
I disabled the max iteration check for now.
I will provide performance measurements.

We should also try seeding functions in phases too.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D108099

Files:
  llvm/include/llvm/Transforms/IPO/Attributor.h
  llvm/lib/Transforms/IPO/Attributor.cpp
  llvm/test/Transforms/Attributor/ArgumentPromotion/alignment.ll
  llvm/test/Transforms/Attributor/ArgumentPromotion/attrs.ll
  llvm/test/Transforms/Attributor/ArgumentPromotion/basictest.ll
  llvm/test/Transforms/Attributor/ArgumentPromotion/byval-2.ll
  llvm/test/Transforms/Attributor/ArgumentPromotion/byval.ll
  llvm/test/Transforms/Attributor/ArgumentPromotion/live_called_from_dead_2.ll
  llvm/test/Transforms/Attributor/allow_list.ll
  llvm/test/Transforms/Attributor/internal-noalias.ll
  llvm/test/Transforms/Attributor/memory_locations.ll
  llvm/test/Transforms/Attributor/read_write_returned_arguments_scc.ll
  llvm/test/Transforms/Attributor/readattrs.ll
  llvm/test/Transforms/Attributor/value-simplify-pointer-info.ll
  llvm/test/Transforms/Attributor/value-simplify.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D108099.366542.patch
Type: text/x-patch
Size: 149010 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210816/22752b4d/attachment-0001.bin>


More information about the llvm-commits mailing list