2 Commits

Author SHA1 Message Date
Adrian Kuegel
ad09cd3f0d [mlir][ClangTidy] Remove redundant return (NFC). 2023-03-27 13:03:53 +02:00
Mehdi Amini
fa51c1753a Introduce mlir::tracing::ExecutionContext
This component acts as an action handler that can be registered in the
MLIRContext. It is the main orchestration of the infrastructure, and implements
support for clients to hook there and snoop on or control the execution.
This is the basis to build tracing as well as a "gdb-like" control of the
compilation flow.

The ExecutionContext acts as a handler in the MLIRContext for executing an
Action. When an action is dispatched, it'll query its set of Breakpoints
managers for a breakpoint matching this action. If a breakpoint is hit, it
passes the action and the breakpoint information to a callback. The callback
is responsible for controlling the execution of the action through an enum
value it returns. Optionally, observers can be registered to be notified
before and after the callback is executed.

Differential Revision: https://reviews.llvm.org/D144812
2023-03-12 22:20:50 +01:00