Files
clang-p2996/mlir/lib/CAPI/Registration/Registration.cpp
Aart Bik 97f15eda4f [mlir][python] Provide "all passes" registration module in Python
Currently, passes are registered on a per-dialect basis, which
provides the smallest footprint obviously. But for prototyping
and experimentation, a convenience "all passes" module is provided,
which registers all known MLIR passes in one run.

Usage in Python:

import mlir.all_passes_registration

Reviewed By: mehdi_amini

Differential Revision: https://reviews.llvm.org/D103130
2021-05-26 15:14:57 -07:00

27 lines
947 B
C++

//===- Registration.cpp - C Interface for MLIR Registration ---------------===//
//
// 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
//
//===----------------------------------------------------------------------===//
#include "mlir-c/Registration.h"
#include "mlir/CAPI/IR.h"
#include "mlir/InitAllDialects.h"
#include "mlir/InitAllPasses.h"
#include "mlir/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.h"
void mlirRegisterAllDialects(MlirContext context) {
mlir::registerAllDialects(*unwrap(context));
// TODO: we may not want to eagerly load here.
unwrap(context)->loadAllAvailableDialects();
}
void mlirRegisterAllLLVMTranslations(MlirContext context) {
mlir::registerLLVMDialectTranslation(*unwrap(context));
}
void mlirRegisterAllPasses() { mlir::registerAllPasses(); }