[Bug tree-optimization/23744] New: VRP does not merge discontinuous ranges of PHIs

pinskia at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Mon Sep 5 23:06:00 GMT 2005


Take the following code:
int g(int i, int j)
{
  int t = 0;
  if (i == j)
    t = 3;
  if (t != 5)
    return 0;
  else
    return 1;
}

We should be able to in VRP find that t can never be in 5 as t should have the range [0,3] instead of 
changing the range to varying.  We do optimize this in DOM via jump threading but we don't need jump 
threading here at all.  More complex code can be shown which gives ranges instead of just values.

-- 
           Summary: VRP does not merge discontinuous ranges of PHIs
           Product: gcc
           Version: 4.1.0
            Status: UNCONFIRMED
          Keywords: missed-optimization
          Severity: enhancement
          Priority: P2
         Component: tree-optimization
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: pinskia at gcc dot gnu dot org
                CC: gcc-bugs at gcc dot gnu dot org


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



More information about the Gcc-bugs mailing list