[Bug middle-end/36326] gimplification of aggregate copies introduces extra aggregate copy

2008-12-03 Thread rguenth at gcc dot gnu dot org


--- Comment #5 from rguenth at gcc dot gnu dot org  2008-12-03 15:11 ---
Subject: Bug 36326

Author: rguenth
Date: Wed Dec  3 15:10:03 2008
New Revision: 142396

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=142396
Log:
2008-12-03  Richard Guenther  [EMAIL PROTECTED]

PR middle-end/36326
* gimplify.c (is_gimple_mem_or_call_rhs): Remove work-around for
non-BLKmode types.

* gcc.dg/tree-ssa/pr36326.c: New testcase.

Added:
trunk/gcc/testsuite/gcc.dg/tree-ssa/pr36326.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/gimplify.c
trunk/gcc/testsuite/ChangeLog


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36326



[Bug middle-end/36326] gimplification of aggregate copies introduces extra aggregate copy

2008-05-28 Thread pinskia at gcc dot gnu dot org


--- Comment #4 from pinskia at gcc dot gnu dot org  2008-05-28 08:05 ---
Fixed.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.4.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36326



[Bug middle-end/36326] gimplification of aggregate copies introduces extra aggregate copy

2008-05-25 Thread rguenth at gcc dot gnu dot org


--- Comment #1 from rguenth at gcc dot gnu dot org  2008-05-25 16:47 ---
Caused by the fix for PR17526.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

OtherBugsDependingO||17526
  nThis||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36326



[Bug middle-end/36326] gimplification of aggregate copies introduces extra aggregate copy

2008-05-25 Thread rguenth at gcc dot gnu dot org


--- Comment #2 from rguenth at gcc dot gnu dot org  2008-05-25 17:18 ---
Which was just a workaround.  It needs proper fixing so that

Index: tree-gimple.c
===
--- tree-gimple.c   (revision 135859)
+++ tree-gimple.c   (working copy)
@@ -116,10 +116,7 @@ is_gimple_mem_rhs (tree t)
  a renamed variable.  Also force a temporary if the type doesn't need
  to be stored in memory, since it's cheap and prevents erroneous
  tailcalls (PR 17526).  */
-  if (is_gimple_reg_type (TREE_TYPE (t))
-  || (TYPE_MODE (TREE_TYPE (t)) != BLKmode
-  (TREE_CODE (t) != CALL_EXPR
-  || ! aggregate_value_p (t, t
+  if (is_gimple_reg_type (TREE_TYPE (t)))
 return is_gimple_val (t);
   else
 return is_gimple_formal_tmp_rhs (t);

doesn't regress.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36326