[Bug rtl-optimization/64164] [4.9/5/6 Regression] one more stack slot used due to one less inlining level
aoliva at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Wed Aug 19 17:01:00 GMT 2015
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64164
--- Comment #52 from Alexandre Oliva <aoliva at gcc dot gnu.org> ---
Author: aoliva
Date: Wed Aug 19 17:00:32 2015
New Revision: 227015
URL: https://gcc.gnu.org/viewcvs?rev=227015&root=gcc&view=rev
Log:
[PR64164] fix regressions reported on m68k and armeb
Defer stack slot address assignment for all parms that can't live in
pseudos, and accept pseudos assignments in assign_param_setup_block.
for gcc/ChangeLog
PR rtl-optimization/64164
* cfgexpand.c (parm_maybe_byref_p): Renamed to...
(parm_in_stack_slot_p): ... this. Disregard mode, what
matters is whether the parm will live in a pseudo or a stack
slot.
(expand_one_ssa_partition): Deal with params without a default
def. Disregard mode.
* cfgexpand.h: Renamed function declaration.
* tree-ssa-coalesce.c: Adjust.
* function.c (split_complex_args): Allocate stack slot for
unassigned parms before splitting.
(parm_in_unassigned_mem_p): New. Use it instead of
parm_maybe_byref_p throughout this file.
(assign_parm_setup_block): Use it. Accept pseudos in the
expand-assigned rtl.
(assign_parm_setup_reg): Drop BLKmode requirement.
(assign_parm_setup_stack): Allocate and fill in the address of
unassigned MEM parms.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/cfgexpand.c
trunk/gcc/cfgexpand.h
trunk/gcc/function.c
trunk/gcc/tree-ssa-coalesce.c
More information about the Gcc-bugs
mailing list