aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2004-09-09 17:50:24 -0700
committerRichard Henderson <rth@gcc.gnu.org>2004-09-09 17:50:24 -0700
commit469c26f1672c58c8e6e540d2066134cc67046b4e (patch)
treee7947bab8da89693b36d2050f360319989c39457
parent55fe27a207a1abf0632d03d649ad3afef9dafde6 (diff)
downloadgcc-469c26f1672c58c8e6e540d2066134cc67046b4e.zip
gcc-469c26f1672c58c8e6e540d2066134cc67046b4e.tar.gz
gcc-469c26f1672c58c8e6e540d2066134cc67046b4e.tar.bz2
re PR middle-end/17367 (expand_expr_addr_expr with parallels (-O1 -mcpu=G5))
PR middle-end/17367 * function.c (assign_parm_setup_block): Only put PARALLELs into a register if use_register_for_decl. From-SVN: r87268
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/function.c2
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);