int qqq (int a) {  int result;   result = bar (a);   return result;}

is gimplified to:

qqq (a)
{
  int D.2147;
  int D.2148;
  int result;

  D.2147 = bar (a);
  result = D.2147;
  D.2148 = result;
  return D.2148;
}

The D.2147 variable is redundant, the result of "bar" can be directly assigned 
to "result". Doing this just increases the memory footprint... 
(PR27800 is about the fact that D.2148 is also redundant)


-- 
           Summary: inefficient gimplification of function calls
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: dann at godzilla dot ics dot uci dot edu


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

Reply via email to