[clang] [CIR] Use UnitProp for comdat, constant, dso_local (PR #190518)
Henrich Lauko via cfe-commits
cfe-commits at lists.llvm.org
Sun Apr 5 04:06:36 PDT 2026
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 <xlauko at mail.muni.cz>
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)
More information about the cfe-commits
mailing list