@@ -133,6 +133,42 @@ PB.registerPipelineParsingCallback([=](StringRef Name, LoopPassManager &PM,
133133 return false ;
134134});
135135
136+ PB.registerPipelineParsingCallback([=](StringRef Name, ModulePassManager &PM,
137+ ArrayRef<PassBuilder::PipelineElement>) {
138+ #define MODULE_CALLBACK (NAME, INVOKE ) if (Name == NAME) { PB.INVOKE (PM, OptimizationLevel::O2); return true ; }
139+ #include GET_PASS_REGISTRY
140+ #undef MODULE_CALLBACK
141+ #define MODULE_LTO_CALLBACK (NAME, INVOKE ) if (Name == NAME) { PB.INVOKE (PM, OptimizationLevel::O2, ThinOrFullLTOPhase::None); return true ; }
142+ #include GET_PASS_REGISTRY
143+ #undef MODULE_LTO_CALLBACK
144+ return false ;
145+ });
146+
147+ PB.registerPipelineParsingCallback([=](StringRef Name, FunctionPassManager &PM,
148+ ArrayRef<PassBuilder::PipelineElement>) {
149+ #define FUNCTION_CALLBACK (NAME, INVOKE ) if (Name == NAME) { PB.INVOKE (PM, OptimizationLevel::O2); return true ; }
150+ #include GET_PASS_REGISTRY
151+ #undef FUNCTION_CALLBACK
152+ return false ;
153+ });
154+
155+
156+ PB.registerPipelineParsingCallback([=](StringRef Name, CGSCCPassManager &CGPM,
157+ ArrayRef<PassBuilder::PipelineElement>) {
158+ #define CGSCC_CALLBACK (NAME, INVOKE ) if (Name == NAME) { PB.INVOKE (CGPM, OptimizationLevel::O2); return true ; }
159+ #include GET_PASS_REGISTRY
160+ #undef CGSCC_CALLBACK
161+ return false ;
162+ });
163+ PB.registerPipelineParsingCallback([=](StringRef Name, LoopPassManager &PM,
164+ ArrayRef<PassBuilder::PipelineElement>) {
165+ #define LOOP_CALLBACK (NAME, INVOKE ) if (Name == NAME) { PB.INVOKE (PM, OptimizationLevel::O2); return true ; }
166+ #include GET_PASS_REGISTRY
167+ #undef LOOP_CALLBACK
168+ return false ;
169+ });
170+
171+
136172PB.registerPipelineParsingCallback([=](StringRef Name,
137173 MachineFunctionPassManager &PM,
138174 ArrayRef<PassBuilder::PipelineElement>) {
0 commit comments