PR middle-end/51323
PR middle-end/50074
* calls.c (internal_arg_pointer_exp_state): New variable.
(internal_arg_pointer_based_exp_1,
internal_arg_pointer_exp_scan): New functions.
(internal_arg_pointer_based_exp): New function.
(mem_overlaps_already_clobbered_arg_p): Use it.
(expand_call): Free internal_arg_pointer_exp_state.cache vector
and clear internal_arg_pointer_exp_state.scan_start.
* gcc.c-torture/execute/pr51323.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182000
138bc75d-0d04-0410-961f-
82ee72b054a4