[Mlir-commits] [mlir] [mlir][OpenACC] Stop using getAtts() and copy function properties separately (PR #226414)

Mehdi Amini llvmlistbot at llvm.org
Fri Sep 25 02:34:26 PDT 2026


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

Copy inherent properties and discardable attributes explicitly when staging a device function.

Part of #155475 

Assisted-by: Codex

>From 820cda0b754a69ec481184131e62a12014da59ed Mon Sep 17 00:00:00 2001
From: Mehdi Amini <joker.eph at gmail.com>
Date: Fri, 25 Sep 2026 02:19:15 -0700
Subject: [PATCH] [mlir][OpenACC] Copy function properties separately

Copy inherent properties and discardable attributes explicitly when
staging a device function.

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

diff --git a/mlir/lib/Dialect/OpenACC/Transforms/ACCRoutineLowering.cpp b/mlir/lib/Dialect/OpenACC/Transforms/ACCRoutineLowering.cpp
index 3defe3e5ccab3..4e3d7e7e77cbe 100644
--- a/mlir/lib/Dialect/OpenACC/Transforms/ACCRoutineLowering.cpp
+++ b/mlir/lib/Dialect/OpenACC/Transforms/ACCRoutineLowering.cpp
@@ -107,7 +107,8 @@ static func::FuncOp createFunctionForDeviceStaging(func::FuncOp hostFunc,
   FunctionType funcType = hostFunc.getFunctionType();
   func::FuncOp deviceFunc =
       func::FuncOp::create(rewriter, loc, hostFunc.getName(), funcType);
-  deviceFunc->setAttrs(hostFunc->getAttrs());
+  deviceFunc->copyProperties(hostFunc->getPropertiesStorage());
+  deviceFunc->setDiscardableAttrs(hostFunc->getDiscardableAttrDictionary());
   deviceFunc->removeDiscardableAttr(getRoutineInfoAttrName());
   deviceFunc->setDiscardableAttr(
       getSpecializedRoutineAttrName(),



More information about the Mlir-commits mailing list