[all-commits] [llvm/llvm-project] 03e29a: [mlir][Pass] Enable the option for reproducer gene...

Puyan Lotfi via All-commits all-commits at lists.llvm.org
Wed Jan 3 09:36:56 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 03e29a49d9827532499234e3e460e2b5b29a11a7
      https://github.com/llvm/llvm-project/commit/03e29a49d9827532499234e3e460e2b5b29a11a7
  Author: Puyan Lotfi <34139736+plotfi at users.noreply.github.com>
  Date:   2024-01-03 (Wed, 03 Jan 2024)

  Changed paths:
    M mlir/include/mlir/Pass/PassManager.h
    M mlir/include/mlir/Tools/mlir-opt/MlirOptMain.h
    M mlir/lib/Pass/Pass.cpp
    M mlir/lib/Pass/PassCrashRecovery.cpp
    M mlir/lib/Pass/PassDetail.h
    M mlir/lib/Tools/mlir-opt/MlirOptMain.cpp
    A mlir/test/Pass/crashless-reproducer.mlir

  Log Message:
  -----------
  [mlir][Pass] Enable the option for reproducer generation without crashing (#75421)

This PR adds API `makeReproducer` and cl::opt flag
`--mlir-generate-reproducer=<filename>` in order to allow for mlir
reproducer dumps even when the pipeline doesn't crash.

This PR also decouples the code that handles generation of an MLIR
reproducer from the crash recovery portion. The purpose is to allow for
generating reproducers outside of the context of a compiler crash.

This will be useful for frameworks and runtimes that use MLIR where it
is needed to reproduce the pipeline behavior for reasons outside of
diagnosing crashes. An example is for diagnosing performance issues
using offline tools, where being able to dump the reproducer from a
runtime compiler would be helpful.




More information about the All-commits mailing list