[Bug optimization/14295] [tree-ssa] copy propagation for aggregates

pinskia at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Wed Feb 25 17:58:00 GMT 2004


------- Additional Comments From pinskia at gcc dot gnu dot org  2004-02-25 17:57 -------
Really you can no longer just look at .optimized anymore.  But this testcase is really fixed.

>From *.t51.nrv:
;; Function foo (foo)

foo (r)
{
  double temp_struct3$m;
  int temp_struct3$b;
  int temp_struct3$a;
  char temp_struct3$d;
  double temp_struct2$m;
  int temp_struct2$b;
  int temp_struct2$a;
  char temp_struct2$d;
  double r$m;
  double temp_struct1$m;
  int r$b;
  int temp_struct1$b;
  int r$a;
  int temp_struct1$a;
  char r$d;
  char temp_struct1$d;
  struct s temp_struct3;
  struct s temp_struct2;
  struct s temp_struct1;

<bb 0>:
  r$a = r.a;
  r$b = r.b;
  r$m = r.m;
  <retval>.d = r.d;
  <retval>.a = r$a;
  <retval>.b = r$b;
  <retval>.m = r$m;
  return <retval>;
}

Note <retval> is a special variable and the expand for return is no longer just returning the struct.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
           Severity|normal                      |enhancement
           Keywords|                            |pessimizes-code
   Target Milestone|---                         |tree-ssa


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



More information about the Gcc-bugs mailing list