summaryrefslogtreecommitdiff
path: root/mlir/lib/CAPI/Dialect/TransformInterpreter.cpp
diff options
context:
space:
mode:
authorOleksandr "Alex" Zinenko <zinenko@google.com>2024-04-17 15:01:59 +0200
committerGitHub <noreply@github.com>2024-04-17 15:01:59 +0200
commit73140daebbf522dbb14dc4b2f3c67dc0aa1a62dd (patch)
treec46758473c4ea2023f991d4176adcc8b90f0ca0c /mlir/lib/CAPI/Dialect/TransformInterpreter.cpp
parent971ec1f0eea324d4a1eec6709e2c97e1798a6002 (diff)
[mlir] expose transform dialect symbol merge to python (#87690)
This functionality is available in C++, make it available in Python directly to operate on transform modules.
Diffstat (limited to 'mlir/lib/CAPI/Dialect/TransformInterpreter.cpp')
-rw-r--r--mlir/lib/CAPI/Dialect/TransformInterpreter.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/mlir/lib/CAPI/Dialect/TransformInterpreter.cpp b/mlir/lib/CAPI/Dialect/TransformInterpreter.cpp
index eb6951dc5584..145455e1c1b3 100644
--- a/mlir/lib/CAPI/Dialect/TransformInterpreter.cpp
+++ b/mlir/lib/CAPI/Dialect/TransformInterpreter.cpp
@@ -15,6 +15,7 @@
#include "mlir/CAPI/IR.h"
#include "mlir/CAPI/Support.h"
#include "mlir/CAPI/Wrap.h"
+#include "mlir/Dialect/Transform/IR/Utils.h"
#include "mlir/Dialect/Transform/Interfaces/TransformInterfaces.h"
#include "mlir/Dialect/Transform/Transforms/TransformInterpreterUtils.h"
@@ -71,4 +72,12 @@ MlirLogicalResult mlirTransformApplyNamedSequence(
unwrap(payload), unwrap(transformRoot),
cast<ModuleOp>(unwrap(transformModule)), *unwrap(transformOptions)));
}
+
+MlirLogicalResult mlirMergeSymbolsIntoFromClone(MlirOperation target,
+ MlirOperation other) {
+ OwningOpRef<Operation *> otherOwning(unwrap(other)->clone());
+ LogicalResult result = transform::detail::mergeSymbolsInto(
+ unwrap(target), std::move(otherOwning));
+ return wrap(result);
+}
}