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

             Bug #: 52157
           Summary: Missing FRE because of sign change
    Classification: Unclassified
           Product: gcc
           Version: 4.7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
        AssignedTo: unassig...@gcc.gnu.org
        ReportedBy: pins...@gcc.gnu.org


Take:
int f(int a)
{
  unsigned int t = a;
  t-=100;
  if (t <= 200 )
    return a-100;
  else
    return t;
}
--- CUT ---
We should able to simplify this function just to:
int f(int a)
{
  unsigned int t = a;
  t-=100;
  return t;
}

Reply via email to