[clang] [CIR] Use UnitProp for comdat, constant, dso_local (PR #190518)
via cfe-commits
cfe-commits at lists.llvm.org
Sun Apr 5 04:08:41 PDT 2026
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-clangir
Author: Henrich Lauko (xlauko)
<details>
<summary>Changes</summary>
---
Full diff: https://github.com/llvm/llvm-project/pull/190518.diff
2 Files Affected:
- (modified) clang/include/clang/CIR/Dialect/IR/CIROps.td (+3-3)
- (modified) clang/lib/CIR/Dialect/IR/CIRDialect.cpp (+2-3)
``````````diff
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)
``````````
</details>
https://github.com/llvm/llvm-project/pull/190518
More information about the cfe-commits
mailing list