https://github.com/xlauko created 
https://github.com/llvm/llvm-project/pull/190518

None

>From f2505a5bd16c7b36b104209a3dd006f5e641522e Mon Sep 17 00:00:00 2001
From: xlauko <[email protected]>
Date: Sun, 5 Apr 2026 09:22:36 +0200
Subject: [PATCH] [CIR] Use UnitProp for comdat, constant, dso_local

---
 clang/include/clang/CIR/Dialect/IR/CIROps.td | 6 +++---
 clang/lib/CIR/Dialect/IR/CIRDialect.cpp      | 5 ++---
 2 files changed, 5 insertions(+), 6 deletions(-)

diff --git a/clang/include/clang/CIR/Dialect/IR/CIROps.td 
b/clang/include/clang/CIR/Dialect/IR/CIROps.td
index f72d891ecd941..ba420f3289bc1 100644
--- a/clang/include/clang/CIR/Dialect/IR/CIROps.td
+++ b/clang/include/clang/CIR/Dialect/IR/CIROps.td
@@ -2837,9 +2837,9 @@ def CIR_GlobalOp : CIR_Op<"global", [
                        OptionalAttr<MemorySpaceAttrInterface>:$addr_space,
                        OptionalAttr<CIR_TLSModel>:$tls_model,
                        OptionalAttr<AnyAttr>:$initial_value,
-                       UnitAttr:$comdat,
-                       UnitAttr:$constant,
-                       UnitAttr:$dso_local,
+                       UnitProp:$comdat,
+                       UnitProp:$constant,
+                       UnitProp:$dso_local,
                        
OptionalAttr<CIR_StaticLocalGuardAttr>:$static_local_guard,
                        OptionalAttr<I64Attr>:$alignment,
                        OptionalAttr<ASTVarDeclInterface>:$ast,
diff --git a/clang/lib/CIR/Dialect/IR/CIRDialect.cpp 
b/clang/lib/CIR/Dialect/IR/CIRDialect.cpp
index 8ccc83a25537b..b4e1be74d93c3 100644
--- a/clang/lib/CIR/Dialect/IR/CIRDialect.cpp
+++ b/clang/lib/CIR/Dialect/IR/CIRDialect.cpp
@@ -1745,9 +1745,8 @@ void cir::GlobalOp::build(
                         odsBuilder.getStringAttr(sym_name));
   odsState.addAttribute(getSymTypeAttrName(odsState.name),
                         mlir::TypeAttr::get(sym_type));
-  if (isConstant)
-    odsState.addAttribute(getConstantAttrName(odsState.name),
-                          odsBuilder.getUnitAttr());
+  auto &properties = odsState.getOrAddProperties<cir::GlobalOp::Properties>();
+  properties.setConstant(isConstant);
 
   addrSpace = normalizeDefaultAddressSpace(addrSpace);
   if (addrSpace)

_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to