[Mlir-commits] [mlir] [mlir][Tensor] Stop using `getAttrs()` and only copy discardable call attributes explicitly (PR #226412)

Mehdi Amini llvmlistbot at llvm.org
Fri Sep 25 02:33:11 PDT 2026


https://github.com/joker-eph created https://github.com/llvm/llvm-project/pull/226412

Preserve discardable metadata when recreating a typed direct call; its builder supplies the inherent fields.

Part of #155475 

Assisted-by: Codex

>From 6fa910789544c81399b99df88fbe572e7ea2340f Mon Sep 17 00:00:00 2001
From: Mehdi Amini <joker.eph at gmail.com>
Date: Fri, 25 Sep 2026 02:19:19 -0700
Subject: [PATCH] [mlir][Tensor] Copy discardable call attributes

Preserve discardable metadata when recreating a typed direct call;
its builder supplies the inherent fields.

Assisted-by: Codex
---
 mlir/lib/Dialect/Tensor/Transforms/ScalarizeFunctionResult.cpp | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/mlir/lib/Dialect/Tensor/Transforms/ScalarizeFunctionResult.cpp b/mlir/lib/Dialect/Tensor/Transforms/ScalarizeFunctionResult.cpp
index 60385d0c8b50d1..c0c92db18db80c 100644
--- a/mlir/lib/Dialect/Tensor/Transforms/ScalarizeFunctionResult.cpp
+++ b/mlir/lib/Dialect/Tensor/Transforms/ScalarizeFunctionResult.cpp
@@ -228,7 +228,8 @@ static void rewriteScalarizableFunction(func::FuncOp func,
     rewriter.setInsertionPoint(directCall);
     func::CallOp newDirectCall = func::CallOp::create(
         rewriter, directCall.getLoc(), func, directCall.getOperands());
-    newDirectCall->setAttrs(directCall->getAttrs());
+    newDirectCall->setDiscardableAttrs(
+        directCall->getDiscardableAttrDictionary());
 
     if (!directCall.getResult(0).use_empty()) {
       Value wrappedResult = tensor::FromElementsOp::create(



More information about the Mlir-commits mailing list