[Mlir-commits] [mlir] [mlir][Transform] Provide a minimal set of utils that allow implementing a simple transform dialect interpreter pass (PR #68330)
Oleksandr Alex Zinenko
llvmlistbot at llvm.org
Fri Oct 6 02:41:49 PDT 2023
================
@@ -2079,20 +2079,21 @@ LogicalResult transform::detail::verifyTransformOpInterface(Operation *op) {
// Entry point.
//===----------------------------------------------------------------------===//
-LogicalResult
-transform::applyTransforms(Operation *payloadRoot,
- TransformOpInterface transform,
- const RaggedArray<MappedValue> &extraMapping,
- const TransformOptions &options) {
-#ifndef NDEBUG
- if (!transform->hasTrait<PossibleTopLevelTransformOpTrait>() ||
- transform->getNumOperands() != 0) {
- transform->emitError()
- << "expected transform to start at the top-level transform op";
- llvm::report_fatal_error("could not run transforms",
- /*gen_crash_diag=*/false);
+LogicalResult transform::applyTransforms(
+ Operation *payloadRoot, TransformOpInterface transform,
+ const RaggedArray<MappedValue> &extraMapping,
+ const TransformOptions &options, bool enforceToplevelTransformOp) {
+ if (enforceToplevelTransformOp) {
+ if (!transform->hasTrait<PossibleTopLevelTransformOpTrait>() ||
+ transform->getNumOperands() != 0) {
+ return transform->emitError()
+ << "expected transform to start at the top-level transform op";
+ }
+ } else if (failed(
+ detail::verifyPossibleTopLevelTransformOpTrait(transform))) {
+ return transform->emitError() << "expected transform to verify like a "
+ "PossibleTopLevelTransformOpTrait";
----------------
ftynse wrote:
The callee has already printed a more precise diagnostic.
```suggestion
return failure();
```
https://github.com/llvm/llvm-project/pull/68330
More information about the Mlir-commits
mailing list