//===- PassRegistration.h - Top-level pass registration ---------*- C++ -*-===//
//
// (C) Copyright IBM 2023.
//
// This code is part of Qiskit.
//
// This code is licensed under the Apache License, Version 2.0 with LLVM
// Exceptions. You may obtain a copy of this license in the LICENSE.txt
// file in the root directory of this source tree.
//
// Any modifications or derivative works of this code must retain this
// copyright notice, and modified files need to carry a notice indicating
// that they have been altered from the originals.
//
//===----------------------------------------------------------------------===//
//
//  This file declares the top-level functions for registering passes and
//  pipelines
//
//===----------------------------------------------------------------------===//
#ifndef PASSREGISTRATION_H
#define PASSREGISTRATION_H

#include "llvm/Support/Error.h"

namespace qssc::hal {
/// Register all registered MLIR passes
/// for the registered Targets with the
/// QSSC system.
llvm::Error registerTargetPasses();
/// Register all registered MLIR pass pipelines
/// for the registered Targets with the
/// QSSC system.
llvm::Error registerTargetPipelines();
} // namespace qssc::hal

#endif // PASSREGISTRATION_H
