[all-commits] [llvm/llvm-project] 72badb: [NPM] Move more O0 pass building into PassBuilder
aeubanks via All-commits
all-commits at lists.llvm.org
Thu Nov 19 11:22:51 PST 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 72badbcdccd11c12555147d48dee4a776f5da87d
https://github.com/llvm/llvm-project/commit/72badbcdccd11c12555147d48dee4a776f5da87d
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2020-11-19 (Thu, 19 Nov 2020)
Changed paths:
M clang/lib/CodeGen/BackendUtil.cpp
M llvm/include/llvm/Passes/PassBuilder.h
M llvm/lib/Passes/PassBuilder.cpp
M llvm/test/Other/new-pass-manager.ll
A llvm/test/Other/new-pm-O0-defaults.ll
M llvm/test/Other/new-pm-defaults.ll
M llvm/test/Other/new-pm-pgo-O0.ll
M llvm/test/Other/new-pm-thinlto-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/Transforms/CanonicalizeAliases/canonicalize.ll
M llvm/test/Transforms/NameAnonGlobals/rename.ll
Log Message:
-----------
[NPM] Move more O0 pass building into PassBuilder
This moves handling of alwaysinline, coroutines, matrix lowering, PGO,
and LTO-required passes into PassBuilder. Much of this is replicated
between Clang and opt. Other out-of-tree users also replicate some of
this, such as Rust [1] replicating the alwaysinline, LTO, and PGO
passes.
The LTO passes are also now run in
build(Thin)LTOPreLinkDefaultPipeline() since they are semantically
required for (Thin)LTO.
[1]: https://github.com/rust-lang/rust/blob/f5230fbf76bafd86ee4376a0e26e551df8d17fec/compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp#L896
Reviewed By: tejohnson
Differential Revision: https://reviews.llvm.org/D91585
More information about the All-commits
mailing list