[clang] [mlir] [CIR] Honor the Direct coercion offset in x86_64 callconv lowering (PR #220724)

Andy Kaylor via cfe-commits cfe-commits at lists.llvm.org
Tue Sep 8 09:46:34 PDT 2026


================
@@ -87,13 +94,22 @@ struct ArgClassification {
     return kind == other.kind && coercedType == other.coercedType &&
            indirectAlign == other.indirectAlign &&
            signExtend == other.signExtend && canFlatten == other.canFlatten &&
-           byVal == other.byVal;
+           byVal == other.byVal && directOffset == other.directOffset;
+  }
+
+  static ArgClassification getDirect() {
+    return getDirect(/*offset=*/0, /*coerced=*/nullptr);
   }
 
-  static ArgClassification getDirect(Type coerced = nullptr) {
+  static ArgClassification getDirect(unsigned offset, Type coerced) {
----------------
andykaylor wrote:

This is an odd choice. Why not make offset the second argument and give them both default values?

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


More information about the cfe-commits mailing list