[Mlir-commits] [mlir] 5375cbf - Fix pipeline-invalid.mlir bytecode roundtrip test (#82366)

llvmlistbot at llvm.org llvmlistbot at llvm.org
Tue Feb 20 21:40:39 PST 2024


Author: Matteo Franciolini
Date: 2024-02-20T21:40:36-08:00
New Revision: 5375cbfb6255ed19a6bed7065a697905ca65d575

URL: https://github.com/llvm/llvm-project/commit/5375cbfb6255ed19a6bed7065a697905ca65d575
DIFF: https://github.com/llvm/llvm-project/commit/5375cbfb6255ed19a6bed7065a697905ca65d575.diff

LOG: Fix pipeline-invalid.mlir bytecode roundtrip test (#82366)

If an op was not contained in a region when was written to bytecode,
we don't have an initialized valueScope with forward references to
define.

Added: 
    

Modified: 
    mlir/lib/Bytecode/Reader/BytecodeReader.cpp

Removed: 
    


################################################################################
diff  --git a/mlir/lib/Bytecode/Reader/BytecodeReader.cpp b/mlir/lib/Bytecode/Reader/BytecodeReader.cpp
index 7cf3bd83b925ca..d61634062784c6 100644
--- a/mlir/lib/Bytecode/Reader/BytecodeReader.cpp
+++ b/mlir/lib/Bytecode/Reader/BytecodeReader.cpp
@@ -2334,8 +2334,11 @@ BytecodeReader::Impl::parseOpWithoutRegions(EncodingReader &reader,
   Operation *op = Operation::create(opState);
   readState.curBlock->push_back(op);
 
-  // If the operation had results, update the value references.
-  if (op->getNumResults() && failed(defineValues(reader, op->getResults())))
+  // If the operation had results, update the value references. We don't need to
+  // do this if the current value scope is empty. That is, the op was not
+  // encoded within a parent region.
+  if (readState.numValues && op->getNumResults() &&
+      failed(defineValues(reader, op->getResults())))
     return failure();
 
   /// Store a map for every value that received a custom use-list order from the


        


More information about the Mlir-commits mailing list