Use the "main" transform-interpreter pass instead of the test pass. This, along with the previously introduced debug extension, now allow tutorials to no longer depend on test passes and extensions.
50 lines
1.7 KiB
C++
50 lines
1.7 KiB
C++
//===-- transform-opt.cpp - Transform dialect tutorial entry point --------===//
|
|
//
|
|
// 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
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
//
|
|
// This is the top-level file for the Transform dialect tutorial chapter 2.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#include "MyExtension.h"
|
|
|
|
#include "mlir/Dialect/Transform/Transforms/Passes.h"
|
|
#include "mlir/IR/DialectRegistry.h"
|
|
#include "mlir/IR/MLIRContext.h"
|
|
#include "mlir/InitAllDialects.h"
|
|
#include "mlir/InitAllExtensions.h"
|
|
#include "mlir/Tools/mlir-opt/MlirOptMain.h"
|
|
#include "mlir/Transforms/Passes.h"
|
|
#include <cstdlib>
|
|
|
|
namespace test {
|
|
void registerTestTransformDialectExtension(mlir::DialectRegistry &);
|
|
} // namespace test
|
|
|
|
int main(int argc, char **argv) {
|
|
// Register all "core" dialects and our transform dialect extension.
|
|
mlir::DialectRegistry registry;
|
|
mlir::registerAllDialects(registry);
|
|
mlir::registerAllExtensions(registry);
|
|
registerMyExtension(registry);
|
|
|
|
// Register transform interpreter pass.
|
|
mlir::transform::registerInterpreterPass();
|
|
|
|
// Register a handful of cleanup passes that we can run to make the output IR
|
|
// look nicer.
|
|
mlir::registerCanonicalizerPass();
|
|
mlir::registerCSEPass();
|
|
mlir::registerSymbolDCEPass();
|
|
|
|
// Delegate to the MLIR utility for parsing and pass management.
|
|
return mlir::MlirOptMain(argc, argv, "transform-opt-ch2", registry)
|
|
.succeeded()
|
|
? EXIT_SUCCESS
|
|
: EXIT_FAILURE;
|
|
}
|