[PR64164] fix regressions reported on m68k and armeb
commit6151b7b5b05debc85d8df044951b0893c43a4e0b
authoraoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 19 Aug 2015 17:00:32 +0000 (19 17:00 +0000)
committeraoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 19 Aug 2015 17:00:32 +0000 (19 17:00 +0000)
tree31f9d298632e1c8a23bdf19a980e7ed54c790474
parenta0509d0eb68c41d64f1464de691818519c48aff0
[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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227015 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/cfgexpand.c
gcc/cfgexpand.h
gcc/function.c
gcc/tree-ssa-coalesce.c