[PATCH] D78315: [mlir][Pass] Register a signal handler when generating crash reproducers.

River Riddle via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Apr 28 11:50:46 PDT 2020


rriddle added a comment.

In D78315#2005841 <https://reviews.llvm.org/D78315#2005841>, @mehdi_amini wrote:

> Can you clarify a bit in the description what kind of situation this allows to handle that weren't possible before?


Added an example. This allowed for me to generate a reproducer during an Inliner segfault that I couldn't otherwise.

> Also it isn't clear to me why do we need a stack of RecoveryReproducerContext? (maybe you can describe this part in the code comments)

There could be multiple pass managers running simultaneously, with different MLIRContexts. Unless we guarantee that there is only ever one context at the same time(something I would be against), we need a stack to handle this case. There is also another situation right now, caused by the lack of dynamic pass pipelines ;), where a pass manager could get run within another. Though regardless of when we fix the second problem, the first one will still exist.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D78315





More information about the llvm-commits mailing list