[all-commits] [llvm/llvm-project] b0c77c: [Attributor] Add an Attributor CGSCC pass and run it
Johannes Doerfert via All-commits
all-commits at lists.llvm.org
Sat Feb 8 19:28:40 PST 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: b0c77c36d2fb1157bb32741278661ace75c4e8da
https://github.com/llvm/llvm-project/commit/b0c77c36d2fb1157bb32741278661ace75c4e8da
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2020-02-08 (Sat, 08 Feb 2020)
Changed paths:
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/LinkAllPasses.h
M llvm/include/llvm/Transforms/IPO/Attributor.h
M llvm/lib/LTO/LTOCodeGenerator.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Transforms/IPO/Attributor.cpp
M llvm/lib/Transforms/IPO/IPO.cpp
M llvm/lib/Transforms/IPO/PassManagerBuilder.cpp
M llvm/test/Other/new-pm-defaults.ll
M llvm/test/Other/new-pm-thinlto-defaults.ll
M llvm/test/Other/new-pm-thinlto-postlink-pgo-defaults.ll
M llvm/test/Other/new-pm-thinlto-postlink-samplepgo-defaults.ll
M llvm/test/Other/new-pm-thinlto-prelink-pgo-defaults.ll
M llvm/test/Other/new-pm-thinlto-prelink-samplepgo-defaults.ll
M llvm/test/Other/opt-O2-pipeline.ll
M llvm/test/Other/opt-O3-pipeline.ll
M llvm/test/Other/opt-Os-pipeline.ll
M llvm/test/Other/pass-pipelines.ll
M llvm/test/Transforms/Attributor/ArgumentPromotion/dbg.ll
M llvm/test/Transforms/Attributor/ArgumentPromotion/live_called_from_dead.ll
M llvm/test/Transforms/Attributor/ArgumentPromotion/nonzero-address-spaces.ll
M llvm/test/Transforms/Attributor/IPConstantProp/PR16052.ll
M llvm/test/Transforms/Attributor/IPConstantProp/multiple_callbacks.ll
M llvm/test/Transforms/Attributor/IPConstantProp/pthreads.ll
M llvm/test/Transforms/Attributor/align.ll
M llvm/test/Transforms/Attributor/internal-noalias.ll
M llvm/test/Transforms/Attributor/liveness.ll
M llvm/test/Transforms/Attributor/norecurse.ll
M llvm/test/Transforms/Attributor/willreturn.ll
Log Message:
-----------
[Attributor] Add an Attributor CGSCC pass and run it
In addition to the module pass, this patch introduces a CGSCC 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 CGSCC pass. This makes the
interfaces simpler but can be revisited if needed.
Reviewed By: hfinkel
Differential Revision: https://reviews.llvm.org/D70767
More information about the All-commits
mailing list