[clang] [CIR] Implement Direct+canFlatten in CallConvLowering (PR #201719)

via cfe-commits cfe-commits at lists.llvm.org
Mon Jun 29 11:55:45 PDT 2026


================
@@ -161,9 +197,12 @@ ArrayAttr updateArgAttrs(MLIRContext *ctx, ArrayRef<Type> origArgTypes,
     DictionaryAttr existing = DictionaryAttr::get(ctx);
     if (existingArgAttrs && oldIdx < existingArgAttrs.size())
       existing = cast<DictionaryAttr>(existingArgAttrs[oldIdx]);
-    if (ac.kind == ArgKind::Expand) {
-      // Push one empty attribute dict per expanded field; the flattened
-      // scalar arguments carry no special ABI attributes.
+    if (auto flatTy = getFlattenedCoercedType(ac)) {
----------------
adams381 wrote:

Restored the explicit `cir::RecordType` at the three `getFlattenedCoercedType` sites.

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


More information about the cfe-commits mailing list