[PATCH] D70767: [Attributor] Add an Attributor CG-SCC passNOTE: Not completely finished, see TODOs below!
Johannes Doerfert via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Nov 26 23:38:13 PST 2019
jdoerfert created this revision.
jdoerfert added reviewers: xbolva00, spatel, chandlerc, uenoku, sstefan1.
Herald added subscribers: dang, dexonsmith, steven_wu, bollu, hiraditya, mehdi_amini.
Herald added a project: LLVM.
In addition to the module pass, this patch introduces a CG-SCC pass that
runs the Attributor on a strongly connected component of the call graph
(both old and new PM). The Attributor was always design to be used on a
subset of functions which makes this patch mostly mechanical.
The one change is that we give up `norecurse` deduction in the module
pass in favor of doing it during the CG-SCC pass. This makes an
interfaces simpler but can be revisited.
TODO:
- CG update methods missing
- Explicit CG specific tests missing.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D70767
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/IPO.cpp
llvm/lib/Transforms/IPO/PassManagerBuilder.cpp
llvm/test/Transforms/FunctionAttrs/liveness.ll
llvm/test/Transforms/FunctionAttrs/norecurse.ll
llvm/test/Transforms/FunctionAttrs/willreturn.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D70767.231182.patch
Type: text/x-patch
Size: 29369 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20191127/5d411324/attachment.bin>
More information about the llvm-commits
mailing list