llvm/mlir/include/mlir/Debug/BreakpointManagers/TagBreakpointManager.h

//===- TagBreakpointManager.h - Simple breakpoint Support -------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//

#ifndef MLIR_DEBUG_BREAKPOINTMANAGERS_TAGBREAKPOINTMANAGER_H
#define MLIR_DEBUG_BREAKPOINTMANAGERS_TAGBREAKPOINTMANAGER_H

#include "mlir/Debug/BreakpointManager.h"
#include "mlir/Debug/ExecutionContext.h"
#include "mlir/IR/Action.h"
#include "llvm/ADT/MapVector.h"

namespace mlir {
namespace tracing {

/// Simple breakpoint matching an action "tag".
class TagBreakpoint : public BreakpointBase<TagBreakpoint> {};

/// This is a manager to store a collection of breakpoints that trigger
/// on tags.
class TagBreakpointManager
    : public BreakpointManagerBase<TagBreakpointManager> {};

} // namespace tracing
} // namespace mlir

#endif // MLIR_DEBUG_BREAKPOINTMANAGERS_TAGBREAKPOINTMANAGER_H