[PATCH] D59918: [Attributor] Pass infrastructure and fixpoint framework

Johannes Doerfert via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Mar 27 23:54:50 PDT 2019


jdoerfert created this revision.
jdoerfert added reviewers: homerdin, hfinkel, fedor.sergeev, sanjoy, spatel, nlopes, nicholas, reames.
Herald added subscribers: dang, dexonsmith, steven_wu, bollu, hiraditya, mgorny, mehdi_amini.
Herald added a project: LLVM.

NOTE: Note that no attributes are derived yet. This patch will not go in
alone but only with others that derive attributes. The framework is
split for review purposes only.

This commit introduces the Attributor pass infrastructure and fixpoint
framework. Further patches will introduce abstract attributesinto the
framework which are then derived until a fixpoint, or a timeout, is
reached. communication between the Attributor and derivable attributes
is defined in the AbstractState and AbstractAttribute interfaces.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D59918

Files:
  llvm/include/llvm/InitializePasses.h
  llvm/include/llvm/LinkAllPasses.h
  llvm/include/llvm/Transforms/IPO/Attributor.h
  llvm/lib/LTO/LTOCodeGenerator.cpp
  llvm/lib/Passes/PassBuilder.cpp
  llvm/lib/Passes/PassRegistry.def
  llvm/lib/Transforms/IPO/Attributor.cpp
  llvm/lib/Transforms/IPO/CMakeLists.txt
  llvm/lib/Transforms/IPO/IPO.cpp
  llvm/lib/Transforms/IPO/PassManagerBuilder.cpp
  llvm/test/Other/opt-O2-pipeline.ll
  llvm/test/Other/opt-O3-pipeline.ll
  llvm/test/Other/opt-Os-pipeline.ll
  llvm/test/Other/pass-pipelines.ll
  llvm/test/Transforms/FunctionAttrs/SCC1.ll
  llvm/test/Transforms/FunctionAttrs/arg_nocapture.ll
  llvm/test/Transforms/FunctionAttrs/arg_returned.ll
  llvm/test/Transforms/FunctionAttrs/fn_noreturn.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D59918.192567.patch
Type: text/x-patch
Size: 33598 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190328/2787564c/attachment.bin>


More information about the llvm-commits mailing list