================ @@ -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 _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
