[PATCH] D127221: [Clang] Enable -print-pipeline-passes in clang.

Arthur Eubanks via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Sep 11 14:28:19 PDT 2023


aeubanks accepted this revision.
aeubanks added a comment.

lg with one test comment



================
Comment at: clang/lib/CodeGen/BackendUtil.cpp:1102
+    outs() << "\n";
+    return;
+  }
----------------
jcranmer-intel wrote:
> aeubanks wrote:
> > I wouldn't return here, doesn't seem right that we'll skip running the opt pipeline but continue with compilation. we should either bail out entirely  of producing any output files (which would probably require code changes elsewhere), or run everything as normal, not do something weird where we don't run the optimization pipeline but still output files
> This is basically doing the same thing that `opt -print-pipeline-passes` is doing: https://github.com/llvm/llvm-project/blob/d1b418f55263ec48d14f220ad020d55f126cfcab/llvm/tools/opt/NewPMDriver.cpp#L500-L524.
> 
> In the case of emitting LLVM IR or bitcode, this logic is sufficient to not emit any output. In the case of .s or .o files, it looks like I have to also bail out of running `RunCodegenPipeline`
if skipping `RunCodegenPipeline` doesn't produce any output file, sgtm


================
Comment at: clang/test/CodeGen/print-pipeline-passes.c:8
+// CHECK: always-inline
+// CHECK-SAME: verify
+void Foo(void) {}
----------------
I believe this will fail in non-assert builds


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D127221



More information about the cfe-commits mailing list