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
