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