[PassBuilder] Support O0 in default pipelines
authorNikita Popov <npopov@redhat.com>
Thu, 16 Mar 2023 08:57:44 +0000 (09:57 +0100)
committerNikita Popov <npopov@redhat.com>
Fri, 17 Mar 2023 09:00:05 +0000 (10:00 +0100)
commita8f6b5763e89cfeec94d3fcf0f6b70f96b293f7d
tree49d61557bc556721c64f21de9234236fc6a9a042
parent951a980dc7aa61b1d414e7d565166ee8071367c6
[PassBuilder] Support O0 in default pipelines

The default and pre-link pipeline builders currently require you to
call a separate method for optimization level O0, even though they
have perfectly well-defined O0 optimization pipelines.

Accept O0 optimization level and call buildO0DefaultPipeline()
internally, so all consumers don't need to repeat this.

Differential Revision: https://reviews.llvm.org/D146200
clang/lib/CodeGen/BackendUtil.cpp
clang/tools/clang-fuzzer/handle-llvm/handle_llvm.cpp
flang/lib/Frontend/FrontendActions.cpp
llvm/include/llvm/Passes/PassBuilder.h
llvm/lib/Passes/PassBuilder.cpp
llvm/lib/Passes/PassBuilderPipelines.cpp
mlir/lib/ExecutionEngine/OptUtils.cpp
openmp/libomptarget/plugins-nextgen/common/PluginInterface/JIT.cpp