On 09/14/2016 11:55 PM, Richard Biener wrote:
On September 14, 2016 11:36:16 PM GMT+02:00, Jan Hubicka <hubi...@ucw.cz> wrote:
+  /* Visit PHI stmts and discover any new VRs possible.  */
+  gimple_stmt_iterator gsi;
+  for (gphi_iterator gpi = gsi_start_phis (bb);
+       !gsi_end_p (gpi); gsi_next (&gpi))
+    {
+      gphi *phi = gpi.phi ();
+      tree lhs = PHI_RESULT (phi);
+      value_range vr_result = VR_INITIALIZER;
+      if (! has_unvisived_preds
           && stmt_interesting_for_vrp (phi)
+         && stmt_visit_phi_node_in_dom_p (phi))
+       extract_range_from_phi_node (phi, &vr_result, true);
+      else
+       set_value_range_to_varying (&vr_result);
+      update_value_range (lhs, &vr_result);
+    }

due to a bug in IRA you need to make sure to un-set BB_VISITED after
early-vrp is finished again.
How IRA bugs affects early passes?

IRA bogously relies on BB_VISITED being cleared at pass start.
Seems like IRA ought to be fixed to clear BB_VISITED on every block as part of its initialization.

Jeff

Reply via email to