9 #ifndef MLIR_TRACING_OBSERVERS_ACTIONLOGGING_H
10 #define MLIR_TRACING_OBSERVERS_ACTIONLOGGING_H
15 #include "llvm/ADT/SmallVector.h"
16 #include "llvm/Support/raw_ostream.h"
25 bool printBreakpoints =
true,
bool printIRUnits =
true)
26 : os(os), printActions(printActions), printBreakpoints(printBreakpoints),
27 printIRUnits(printIRUnits) {}
30 bool willExecute)
override;
36 breakpointManagers.push_back(manager);
45 bool printBreakpoints;
47 std::vector<const BreakpointManager *> breakpointManagers;
A breakpoint manager is responsible for managing a set of breakpoints and matching them to a given ac...
This abstract class represents a breakpoint.
Include the generated interface declarations.
This class is used to keep track of the active actions in the stack.
This class defines an observer that print Actions before and after execution on the provided stream.
void beforeExecute(const ActionActiveStack *action, Breakpoint *breakpoint, bool willExecute) override
This method is called before the Action is executed If a breakpoint was hit, it is passed as an argum...
void afterExecute(const ActionActiveStack *action) override
This method is called after the Action is executed, if it was executed.
void addBreakpointManager(const BreakpointManager *manager)
If one of multiple breakpoint managers are set, only actions that are matching a breakpoint will be l...
ActionLogger(raw_ostream &os, bool printActions=true, bool printBreakpoints=true, bool printIRUnits=true)
This abstract class defines the interface used to observe an Action execution.