[Mlir-commits] [llvm] [mlir] [mlir][bytecode] Add builtin dialect version (PR #184678)

Mehdi Amini llvmlistbot at llvm.org
Thu Mar 5 02:52:34 PST 2026


================
@@ -239,6 +239,41 @@ struct BuiltinDialectBytecodeInterface : public BytecodeDialectInterface {
                           DialectBytecodeWriter &writer) const override {
     return ::writeType(type, writer);
   }
+
+  //===--------------------------------------------------------------------===//
+  // Version
+
+  void writeVersion(DialectBytecodeWriter &writer) const override {
+    auto configVersion = writer.getDialectVersion(getDialect()->getNamespace());
+    // Write version set in config.
+    if (succeeded(configVersion)) {
+      auto *version =
+          static_cast<const BuiltinDialectVersion *>(*configVersion);
+      writer.writeVarInt(static_cast<uint64_t>(version->getVersion()));
+      return;
+    }
+    // Else, write current set version version if not 0.
+    if (auto version = cast<BuiltinDialect>(getDialect())->getVersion();
+        version && version->getVersion() > 0) {
+      writer.writeVarInt(static_cast<uint64_t>(version->getVersion()));
+    }
+  }
+
+  std::unique_ptr<DialectVersion>
+  readVersion(DialectBytecodeReader &reader) const override {
+    uint64_t version;
+    if (failed(reader.readVarInt(version)))
+      return nullptr;
+
+    auto dialectVersion = std::make_unique<BuiltinDialectVersion>(version);
+    if (BuiltinDialectVersion::getCurrentVersion() < *dialectVersion) {
+      reader.emitWarning()
+          << "reading newer builtin dialect version than supported";
----------------
joker-eph wrote:

Shouldn't this be an error?

https://github.com/llvm/llvm-project/pull/184678


More information about the Mlir-commits mailing list