[clang] [llvm] [transforms] Inline simple variadic functions (PR #81058)

Eli Friedman via cfe-commits cfe-commits at lists.llvm.org
Wed Feb 14 12:19:26 PST 2024


efriedma-quic wrote:

> > I don't really like the whole "sufficiently simple function" thing. It seems fragile. You should be able to just take a arbitrary internal varargs function, rewrite its signature to take a va_list argument, rewrite calls to va_start to make a copy of that va_list, and rewrite the callers to construct that va_list. If that function turns out to be inlinable, great; if not, you haven't really lost anything.
> 
> Yes, you can and I do. That's patch 2 of the series, numbered 1. in the list in the commit message (for this is 0)

Not sure if this means isFunctionInlinable will go away in the followup patch, or if you plan to rewrite functions in a way that satisfies isFunctionInlinable.  I think the end state should be that all functions go down the same codepath, not conditionally do something different based on whether they're "simple".  I guess I don't have a strong preference for how you get there, though.

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


More information about the cfe-commits mailing list