[clang] [mlir] [CIR] Lower variadic calls in CallConvLowering for x86_64 (PR #213315)
Adam Smith via cfe-commits
cfe-commits at lists.llvm.org
Mon Aug 3 16:58:18 PDT 2026
================
@@ -321,17 +321,38 @@ convertABIArgInfo(const llvm::abi::ArgInfo &info, MLIRContext *ctx,
return ArgClassification::getIgnore();
}
+/// The number of leading arguments the classifier must treat as declared
+/// parameters, which is meaningful only for a variadic signature: an argument
+/// past the ellipsis is unnamed, and the x86_64 rules pass some unnamed types
+/// differently. std::nullopt for a non-variadic signature, where every
----------------
adams381 wrote:
I agree that this is confusing and I don't like it. I did an implementation like `CGFunctionInfo` (and `CIRGenFunctionInfo`) that is local to this pass. At least this way we have the explanation of what the special case means.
https://github.com/llvm/llvm-project/pull/213315
More information about the cfe-commits
mailing list