9#ifndef MLIR_TRACING_BREAKPOINTMANAGER_H
10#define MLIR_TRACING_BREAKPOINTMANAGER_H
13#include "llvm/ADT/MapVector.h"
27 void enable() { enableStatus =
true; }
48template <
typename Derived>
81template <
typename Derived>
true
Given two iterators into the same block, return "true" if a is before `b.
This class provides an efficient unique identifier for a specific C++ type.
static TypeID get()
Construct a type info object for the given type T.
An action is a specific action that is to be taken by the compiler, that can be toggled and controlle...
static bool classof(const Breakpoint *breakpoint)
Support isa/dyn_cast functionality for the derived pass class.
static bool classof(const BreakpointManager *breakpointManager)
Provide classof to allow casting between breakpoint manager types.
virtual ~BreakpointManager()=default
TypeID getTypeID() const
TypeID for the subclass, used for casting purpose.
BreakpointManager(TypeID typeID)
virtual Breakpoint * match(const Action &action) const =0
Try to match a Breakpoint to a given Action.
This abstract class represents a breakpoint.
Breakpoint(TypeID typeID)
TypeID getTypeID() const
TypeID for the subclass, used for casting purpose.
virtual ~Breakpoint()=default
virtual void print(raw_ostream &os) const =0
raw_ostream & operator<<(raw_ostream &os, const Breakpoint &breakpoint)
Include the generated interface declarations.
auto get(MLIRContext *context, Ts &&...params)
Helper method that injects context only if needed, this helps unify some of the attribute constructio...