[NewPM] Add OptimizerEarly module extension point
authorWenju He <wenju.he@intel.com>
Thu, 31 Mar 2022 15:12:29 +0000 (08:12 -0700)
committerArthur Eubanks <aeubanks@google.com>
Thu, 31 Mar 2022 15:22:27 +0000 (08:22 -0700)
commit0bda12b5bcea578b94417217e8f32024c71a4f24
tree59929b2a01a2e8c902b8548723d1cb6d882a4521
parent152e501d871f653b2513d1958d431a2e5b05d5b0
[NewPM] Add OptimizerEarly module extension point

VectorizerStart extension is module callback in old PM, but is function
callback in new PM. We lack a module extension point between end of
buildModuleSimplificationPipeline and the function optimization
(including vectorizer) pipeline. So this patch adds a new module
extension point before the function optimization pipeline.

Reviewed By: aeubanks

Differential Revision: https://reviews.llvm.org/D122296
llvm/include/llvm/Passes/PassBuilder.h
llvm/lib/Passes/PassBuilderPipelines.cpp
llvm/test/Other/new-pm-O0-ep-callbacks.ll
llvm/test/Other/new-pm-defaults.ll
llvm/tools/opt/NewPMDriver.cpp