Page MenuHomePhabricator

[mlir][Pass] Add support for generating local crash reproducers
ClosedPublic

Authored by rriddle on Apr 16 2020, 11:12 AM.

Details

Summary

This revision adds a mode to the crash reproducer generator to attempt to generate a more local reproducer. This will attempt to generate a reproducer right before the offending pass that fails. This is useful for the majority of failures that are specific to a single pass, and situations where some passes in the pipeline are not registered with a specific tool.

Depends On D78313

Diff Detail

Event Timeline

rriddle created this revision.Apr 16 2020, 11:12 AM
jpienaar added inline comments.Apr 16 2020, 12:40 PM
mlir/docs/PassManagement.md
1001

minimal has to me a size connotation (e.g., "minimum amount of code needed to make the bug appear when executed."), and here it is more about scope than size (e.g., you only need to run one pass, but your reproducer may be huge). Would "local" or "pass-pipeline-dump-before-first-fail" work? Alternatively, where do you see someone not wanting this behavior?

1004

Missing space before (

rriddle marked 2 inline comments as done.Apr 16 2020, 12:59 PM
rriddle added inline comments.
mlir/docs/PassManagement.md
1001

I'm fine with local.

This type of behavior isn't desirable if there are multi-pass interactions. It isn't guaranteed that the problem is with the pass that it is failing.

rriddle updated this revision to Diff 258152.Apr 16 2020, 1:11 PM
rriddle marked an inline comment as done.

Resolve comments

rriddle retitled this revision from [mlir][Pass] Add support for generating minimal crash reproducers to [mlir][Pass] Add support for generating local crash reproducers.Apr 16 2020, 1:11 PM
rriddle edited the summary of this revision. (Show Details)
rriddle marked an inline comment as done.
mehdi_amini accepted this revision.Apr 21 2020, 10:03 PM
mehdi_amini added inline comments.
mlir/docs/PassManagement.md
1001

Interestingly local was confusing to me since I thought of it as opposite to "remote" ;)

This revision is now accepted and ready to land.Apr 21 2020, 10:03 PM
This revision was automatically updated to reflect the committed changes.