[Mlir-commits] [mlir] [MLIR] Document the need for updating the cached symbol tables during bufferization (PR #141594)

Michele Scuttari llvmlistbot at llvm.org
Tue May 27 05:58:14 PDT 2025


https://github.com/mscuttari created https://github.com/llvm/llvm-project/pull/141594

None

>From b0a47b0bb5f3dce2fbf356406bcf96f2e6fefc1c Mon Sep 17 00:00:00 2001
From: Michele Scuttari <michele.scuttari at outlook.com>
Date: Tue, 27 May 2025 14:55:55 +0200
Subject: [PATCH] Document the need for updating the cached symbol tables

---
 .../mlir/Dialect/Bufferization/IR/BufferizableOpInterface.td | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/mlir/include/mlir/Dialect/Bufferization/IR/BufferizableOpInterface.td b/mlir/include/mlir/Dialect/Bufferization/IR/BufferizableOpInterface.td
index b599a9f053215..72974a8c808fd 100644
--- a/mlir/include/mlir/Dialect/Bufferization/IR/BufferizableOpInterface.td
+++ b/mlir/include/mlir/Dialect/Bufferization/IR/BufferizableOpInterface.td
@@ -416,6 +416,11 @@ def BufferizableOpInterface : OpInterface<"BufferizableOpInterface"> {
           expected to survive bufferization, `success` should be returned
           (together with `allow-unknown-ops` enabled).
 
+          If the bufferized operation has symbol semantics (i.e., it defines a
+          symbol or a symbol table), the implementation is expected to update
+          the cached symbol tables -- within the bufferization state -- to keep
+          them in a consistent state.
+
           Note: If this op supports unstructured control flow in its regions,
           then this function should also bufferize all block signatures that
           belong to this op. Branch ops (that branch to a block) are typically



More information about the Mlir-commits mailing list