gnu/gcc/2d995ac584d7623eefe3bf8f60d05941fa55a1b9 Improve variadic function call handling in PTA
The following fixes handling of __builtin_va_start handling and
implements .VA_ARG handling in PTA constraint generation to
improve precision around variadic calls. I've added a testcase
for IPA PTA involving an indirect variadic call verifying precision.
The pr99679-1.C no longer emits an expected error that was triggered
by PTA calling aggregate_value_p on the .VA_ARG call which we no
longer do.
* gimple-ssa-pta-constraints.cc (find_func_aliases_for_builtin_call):
Correctly use SCALAR rhs from the variadic argument part of
the function info or from NONLOCAL in case of intra-PTA.
(find_func_aliases_for_call): Handle .VA_ARG.
* gcc.dg/ipa/ipa-pta-20.c: New testcase.
* g++.target/i386/pr99679-1.C: Remove expected error.
* g++.target/i386/pr99679-2.C: Likewise.
4 files changed