[clang] [CIR] Add noundef to __cxx_global_array_dtor parameter (PR #191529)

via cfe-commits cfe-commits at lists.llvm.org
Tue Apr 14 13:46:01 PDT 2026


================
@@ -884,6 +884,16 @@ cir::FuncOp LoweringPreparePass::getOrCreateDtorFunc(CIRBaseBuilderTy &builder,
   cir::FuncOp dtorFunc =
       buildRuntimeFunction(builder, fnName, op.getLoc(), fnType,
                            cir::GlobalLinkageKind::InternalLinkage);
+
+  mlir::Builder b(builder.getContext());
+  SmallVector<mlir::NamedAttribute> paramAttrs;
+  paramAttrs.push_back(b.getNamedAttr("llvm.noundef", b.getUnitAttr()));
+  SmallVector<mlir::Attribute> argAttrDicts;
+  argAttrDicts.push_back(
+      mlir::DictionaryAttr::get(builder.getContext(), paramAttrs));
+  dtorFunc->setAttr("arg_attrs",
----------------
adams381 wrote:

Agreed, switched to `setArgAttrsAttr()`.

https://github.com/llvm/llvm-project/pull/191529


More information about the cfe-commits mailing list