[all-commits] [llvm/llvm-project] 0ea0ec: [flang][driver] apply mlir pass options immediatel...

jeanPerier via All-commits all-commits at lists.llvm.org
Tue Aug 27 02:05:35 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 0ea0ecd64f54e307670b860b309d2e869c1de3d1
      https://github.com/llvm/llvm-project/commit/0ea0ecd64f54e307670b860b309d2e869c1de3d1
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

  Changed paths:
    M flang/lib/Frontend/FrontendActions.cpp
    M flang/test/Driver/mlir-debug-pass-pipeline.f90
    M flang/test/Driver/mlir-pass-pipeline.f90
    A flang/test/Driver/mmlir-opts-vs-opts.f90

  Log Message:
  -----------
  [flang][driver] apply mlir pass options immediately after lowering (#106099)

The verification pass is run right after lowering with its own pass
manager by flang driver, but the mlir command line options were not
applied to this pass manager.

This prevented options like `-mmlir
--mlir-pass-pipeline-crash-reproducer="crash.fir"` or `-mmlir
--mlir-print-ir-after-failure` to work when a verifier error was hit
right after lowering, while these options are useful to
investigate/reproduce internal errors.

Note that the change in the pipeline tests is not showing a new pass
being run: the pass was already run, but `-mmlir --mlir-pass-statistics`
was not applied when the initial verification pass was run.

Note that when we deal with compiler performance, we will probably want
to run the verification pass only once after the initial lowering (this
patch shows that it is called twice in a raw: once after the initial
lowering, once at the beginning of FIR to LLVM IR lowering).



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list