================ @@ -416,6 +416,12 @@ added in the future: This calling convention, like the `PreserveMost` calling convention, will be used by a future version of the ObjectiveC runtime and should be considered experimental at this time. +"``preserve_nonecc``" - The `PreserveNone` calling convention + This calling convention doesn't preserve any general registers. So all + general registers are caller saved registers. It also uses all general + registers to pass arguments. This attribute doesn't impact floating-point ---------------- pinskia wrote:
I suspect this should say any `non-general purpose registers (e.g. floating point registers, on x86 XMMs/YMMs)`. Rather than `floating-point registers`. Also isn't this just a hack to increase the number of registers used to pass arguments? If so there has to be a better way of doing this. Maybe a non-exposed attribute which is used only for non-exposed functions? e.g. on x86 (not 64bit), regparm could be used internally there. https://github.com/llvm/llvm-project/pull/76868 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits