summaryrefslogtreecommitdiff
path: root/mlir/lib/CAPI/IR/IR.cpp
diff options
context:
space:
mode:
authorJacques Pienaar <jpienaar@google.com>2023-04-30 22:11:02 -0700
committerJacques Pienaar <jpienaar@google.com>2023-04-30 22:11:02 -0700
commit5c90e1ffb009478a644f9bd6439f37f96b09e399 (patch)
tree27872e22f0b0cc33aa1834335aa82e59066a2747 /mlir/lib/CAPI/IR/IR.cpp
parentfddd28364c69bc07b6552b7344207abf4feb2e8b (diff)
[mlir][bytecode] Return error instead of min version
Can't return a well-formed IR output while enabling version to be bumped up during emission. Previously it would return min version but potentially invalid IR which was confusing, instead make it return error and abort immediately instead. Differential Revision: https://reviews.llvm.org/D149569
Diffstat (limited to 'mlir/lib/CAPI/IR/IR.cpp')
-rw-r--r--mlir/lib/CAPI/IR/IR.cpp19
1 files changed, 6 insertions, 13 deletions
diff --git a/mlir/lib/CAPI/IR/IR.cpp b/mlir/lib/CAPI/IR/IR.cpp
index 03f154965e96..0069bf10263a 100644
--- a/mlir/lib/CAPI/IR/IR.cpp
+++ b/mlir/lib/CAPI/IR/IR.cpp
@@ -524,25 +524,18 @@ void mlirOperationPrintWithFlags(MlirOperation op, MlirOpPrintingFlags flags,
unwrap(op)->print(stream, *unwrap(flags));
}
-MlirBytecodeWriterResult mlirOperationWriteBytecode(MlirOperation op,
- MlirStringCallback callback,
- void *userData) {
+void mlirOperationWriteBytecode(MlirOperation op, MlirStringCallback callback,
+ void *userData) {
detail::CallbackOstream stream(callback, userData);
- MlirBytecodeWriterResult res;
- BytecodeWriterResult r = writeBytecodeToFile(unwrap(op), stream);
- res.minVersion = r.minVersion;
- return res;
+ // As no desired version is set, no failure can occur.
+ (void)writeBytecodeToFile(unwrap(op), stream);
}
-MlirBytecodeWriterResult mlirOperationWriteBytecodeWithConfig(
+MlirLogicalResult mlirOperationWriteBytecodeWithConfig(
MlirOperation op, MlirBytecodeWriterConfig config,
MlirStringCallback callback, void *userData) {
detail::CallbackOstream stream(callback, userData);
- BytecodeWriterResult r =
- writeBytecodeToFile(unwrap(op), stream, *unwrap(config));
- MlirBytecodeWriterResult res;
- res.minVersion = r.minVersion;
- return res;
+ return wrap(writeBytecodeToFile(unwrap(op), stream, *unwrap(config)));
}
void mlirOperationDump(MlirOperation op) { return unwrap(op)->dump(); }