[prev in list] [next in list] [prev in thread] [next in thread] 

List:       gcc-bugs
Subject:    [Bug tree-optimization/55157] New: Missing VRP
From:       "pinskia at gcc dot gnu.org" <gcc-bugzilla () gcc ! gnu ! org>
Date:       2012-10-31 21:51:35
Message-ID: bug-55157-4 () http ! gcc ! gnu ! org/bugzilla/
[Download RAW message or body]


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

             Bug #: 55157
           Summary: Missing VRP
    Classification: Unclassified
           Product: gcc
           Version: 4.8.0
            Status: UNCONFIRMED
          Severity: enhancement
          Priority: P3
         Component: tree-optimization
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: pinskia@gcc.gnu.org
            Blocks: 55155


Testcase:
void gg(void);
int f(unsigned t)
{
  unsigned g = t*16;
  if (g==0)  return 1;
  gg();
  gg();
  gg();
  gg();
  gg();
  gg();
  if (g<=4)  return 1;
  return 0;
}

In the end there should only be one check for t == 0.
Yes this shows up in real code (well with the autovectorizer); See PR 55155
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic