diff options
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/function.c | 2 |
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e1d5834..0d8f266 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2004-09-09 Richard Henderson <rth@redhat.com> + + PR middle-end/17367 + * function.c (assign_parm_setup_block): Only put PARALLELs into + a register if use_register_for_decl. + 2004-09-09 Eric Christopher <echristo@redhat.com> * ra-colorize.c (reset_lists): Move variable declaration inside diff --git a/gcc/function.c b/gcc/function.c index 452de0c..29ab3e4 100644 --- a/gcc/function.c +++ b/gcc/function.c @@ -2535,7 +2535,7 @@ assign_parm_setup_block (tree parm, struct assign_parm_data_one *data) if (GET_CODE (entry_parm) == PARALLEL && data->nominal_mode != BLKmode && XVECLEN (entry_parm, 0) > 1 - && optimize) + && use_register_for_decl (parm)) { rtx parmreg = gen_reg_rtx (data->nominal_mode); |