[PATCH] D67687: [NewPM][CodeGen] Introduce machine pass and machine pass manager

Alina Sbirlea via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 23 12:52:05 PDT 2020


asbirlea added a comment.

IIRC the MIR pipeline is essentially flat (vs the IR one), so at this point it's probably fine to not have the adaptor complexity. However, if this changes to become more than a one time use, then perhaps the Module-Function hierarchy makes sense.
Let me ask this differently, if the CodegenNPM introduced the `ModuleToFunctionPassAdaptor` now, and it was only used during codegen set-up (assuming negligible overhead for this complexity), is it possible it will be useful long-term in case there are changes in the current restrictions?

It would be very helpful if you added an overall comment explanation (or adding to the documentation) on the decision of which parts of the IR NPM infra is used in the CodegenNPM.



================
Comment at: llvm/include/llvm/CodeGen/MachinePassManager.h:45
+
+/// A AnalysisManager<MachineFunction> that also exposes IR analysis results.
+class MachineFunctionAnalysisManager : public AnalysisManager<MachineFunction> {
----------------
s/A/An


================
Comment at: llvm/lib/CodeGen/MachinePassManager.cpp:35
+
+  if (DebugLogging)
+    dbgs() << "Starting " << getTypeName<MachineFunction>()
----------------
arsenm wrote:
> Braces
I'm assuming this and other places meant remove braces for single instruction for/if?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D67687/new/

https://reviews.llvm.org/D67687





More information about the llvm-commits mailing list