https://gcc.gnu.org/bugzilla/show_bug.cgi?id=10980
--- Comment #15 from Andrew Pinski <pinskia at gcc dot gnu.org> --- So LLVM got a pass last year that is able to change var args functions into non var args via creating va_list using seperately allocated memory rather than the stack of the args. It is only enabled for AMD GPU it seems; I have not tested on other targets but it seems to be a way of doing inlining of va_arg functions too. https://github.com/llvm/llvm-project/blob/main/llvm/lib/Transforms/IPO/ExpandVariadics.cpp
