================
@@ -1281,6 +1285,73 @@ void EmitAssemblyHelper::RunCodegenPipeline(
}
}
+void EmitAssemblyHelper::RunCodegenPipelineNewPM(
+ BackendAction Action, std::unique_ptr<raw_pwrite_stream> &OS,
+ std::unique_ptr<llvm::ToolOutputFile> &DwoOS) {
+ if (!actionRequiresCodeGen(Action))
+ return;
+
+ // Normal mode, emit a .s or .o file by running the code generator. Note,
+ // this also adds codegenerator level optimization passes.
+ CodeGenFileType CGFT = getCodeGenFileType(Action);
+
+ // Invoke pre-codegen callback from plugin, which might want to take over the
+ // entire code generation itself.
+ for (const std::unique_ptr<llvm::PassPlugin> &Plugin : CI.getPassPlugins()) {
+ if (Plugin->invokePreCodeGenCallback(*TheModule, *TM, CGFT, *OS))
+ return;
----------------
efriedma-quic wrote:
Please refactor to share the common code. (It might be hard to share
everything, but most of it should be easy.)
https://github.com/llvm/llvm-project/pull/191579
_______________________________________________
llvm-branch-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits