For this function:
int test (int a, int b, int c, int g)
{
  int d, e;
  if (a)
    d = b * c;
  else
    d = b - c;
  e = b * c + g;
  return d + e;
}

the multiply expression is moved to both branches of the "if", it would be
better to move it before the "if".  Intel's compiler does that.


-- 
           Summary: PRE for post dominating expressions
           Product: gcc
           Version: 4.3.3
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: middle-end
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: dann at godzilla dot ics dot uci dot edu
  GCC host triplet: i386-pc-linux


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

Reply via email to