[Mlir-commits] [mlir] [mlir][transform] Fix crash when consuming an op in a named sequence (PR #67437)

Matthias Springer llvmlistbot at llvm.org
Tue Sep 26 22:58:20 PDT 2023


================
@@ -1021,9 +1023,10 @@ transform::TransformState::applyTransform(TransformOpInterface transform) {
       // pre-generated error messages, so we do not need the association to
       // still be there when the invalidated handle is accessed.
       SmallVector<Value> handles;
-      (void)getHandlesForPayloadOp(op, handles);
+      (void)getHandlesForPayloadOp(op, handles, /*includeOutOfScope=*/true);
       for (Value handle : handles)
-        forgetMapping(handle, /*origOpFlatResults=*/ValueRange());
+        forgetMapping(handle, /*origOpFlatResults=*/ValueRange(),
+                      /*allowOutOfScope=*/true);
       cachedNames.erase(op);
----------------
matthias-springer wrote:

Yes, this should always be `true`. There is no `allowOutOfScope` to forward here. (Note this is in `applyTransform`, the short diff rendering makes it look like it's in  `forgetValueMapping`, but it's not.)

I'm going to add a test for value handles.


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


More information about the Mlir-commits mailing list