Previously we marked all vararg functions as non-inlinable in the
function summary, which prevented their importing. However, the
corresponding inliner restriction was loosened in r321940/r342675
to only apply to functions calling va_start. Adjust the summary
flag computation to match.
Details
Details
Diff Detail
Diff Detail
- Repository
- rL LLVM
- Build Status
Buildable 24738 Build 24737: arc lint + arc unit
Event Timeline
Comment Actions
This doesn't completely match what the inliner is doing. We actually can inline functions that call va_start in some cases: specifically, we can inline in cases where we can prove the call to va_start is dead at a particular callsite. Probably doesn't come up often enough to matter, though.
Comment Actions
Thanks for the comment. I'm inclined to remove the vararg restrictions on importing altogether then. I had measured it without any restrictions for a large benchmark and it didn't have a significant impact on the import counts and binary size in any case.