[flang-commits] [flang] [flang][CUDA] Stop using Operation::getAttrs in host stubs (NFC) (PR #226421)

Mehdi Amini via flang-commits flang-commits at lists.llvm.org
Fri Sep 25 02:50:27 PDT 2026


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

Copy function properties and discardable attributes separately when creating a host stub.

Part of #155475

Assisted-by: Codex

>From 5b222d4982eff04033d677d6ba9510b424bdd7fb Mon Sep 17 00:00:00 2001
From: Mehdi Amini <joker.eph at gmail.com>
Date: Fri, 25 Sep 2026 02:19:06 -0700
Subject: [PATCH] [flang][CUDA] Stop using Operation::getAttrs in host stubs

Copy function properties and discardable attributes separately when
creating a host stub.

Assisted-by: Codex
---
 flang/lib/Optimizer/Transforms/CUDA/CUFDeviceFuncTransform.cpp | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/flang/lib/Optimizer/Transforms/CUDA/CUFDeviceFuncTransform.cpp b/flang/lib/Optimizer/Transforms/CUDA/CUFDeviceFuncTransform.cpp
index f5d605fbd4094a..ff0f8da3c8216e 100644
--- a/flang/lib/Optimizer/Transforms/CUDA/CUFDeviceFuncTransform.cpp
+++ b/flang/lib/Optimizer/Transforms/CUDA/CUFDeviceFuncTransform.cpp
@@ -170,7 +170,8 @@ class CUFDeviceFuncTransform
     auto emptyStub = func::FuncOp::create(modBuilder, loc, funcOp.getName(),
                                           funcOp.getFunctionType());
     emptyStub.setVisibility(funcOp.getVisibility());
-    emptyStub->setAttrs(funcOp->getAttrs());
+    emptyStub->copyProperties(funcOp->getPropertiesStorage());
+    emptyStub->setDiscardableAttrs(funcOp->getDiscardableAttrDictionary());
     auto entryBlock = emptyStub.addEntryBlock();
     modBuilder.setInsertionPointToEnd(entryBlock);
     // Add a return operation at the end of the stub with the location of the



More information about the flang-commits mailing list