[all-commits] [llvm/llvm-project] fa51c1: Introduce mlir::tracing::ExecutionContext
Mehdi Amini via All-commits
all-commits at lists.llvm.org
Sun Mar 12 14:21:15 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: fa51c1753a274fbb7a71d8fe91fd4e5caf2fa4d3
https://github.com/llvm/llvm-project/commit/fa51c1753a274fbb7a71d8fe91fd4e5caf2fa4d3
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2023-03-12 (Sun, 12 Mar 2023)
Changed paths:
A mlir/include/mlir/Debug/BreakpointManager.h
A mlir/include/mlir/Debug/BreakpointManagers/TagBreakpointManager.h
A mlir/include/mlir/Debug/ExecutionContext.h
M mlir/lib/Debug/CMakeLists.txt
A mlir/lib/Debug/ExecutionContext.cpp
M mlir/unittests/Debug/CMakeLists.txt
A mlir/unittests/Debug/ExecutionContextTest.cpp
Log Message:
-----------
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
More information about the All-commits
mailing list