On 08/31/2009 05:06 PM, Richard Henderson wrote:
The following patch appears to work for both. I'll commit
it after a bootstrap and test cycle completes.

Committed with one additional change, to prevent VRP
from crashing.


r~


         (vrp_visit_stmt): Be prepared for non-interesting stmts.


@@ -6087,7 +6090,9 @@ vrp_visit_stmt (gimple stmt, edge *taken_edge_p, tree *output_p)
        fprintf (dump_file, "\n");
      }

 -  if (is_gimple_assign (stmt) || is_gimple_call (stmt))
 +  if (!stmt_interesting_for_vrp (stmt))
 +    gcc_assert (stmt_ends_bb_p (stmt));
 +  else if (is_gimple_assign (stmt) || is_gimple_call (stmt))
      {
        /* In general, assignments with virtual operands are not useful
          for deriving ranges, with the obvious exception of calls to

Reply via email to