As PR64950 mentioned:
pass_stdarg optimizes cfun->va_list_gpr/fpr_size by detecting va_args.
However, va_args are expanded at gimple level, so pass_stdarg detects them by matching what the expansion of va_arg looks like after running through the passes between gimplification and pass_stdarg.
Tom fixed the issue for GCC 6.x, I am backporting to GCC 5.5, and Uros also rebased the patch for Alpha Target, so what about other Targets?
Hi fellows,
As PR64950 mentioned:
pass_stdarg
optimizescfun->va_list_gpr/fpr_size
by detectingva_args
.However,
va_args
are expanded at gimple level, sopass_stdarg
detects them by matching what the expansion ofva_arg
looks like after running through the passes between gimplification andpass_stdarg
.Tom fixed the issue for GCC 6.x, I am backporting to GCC 5.5, and Uros also rebased the patch for Alpha Target, so what about other Targets?
Regards, Leslie Zhai