On Thu, Sep 15, 2016 at 4:45 PM, Jeff Law <l...@redhat.com> wrote: > 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.
Agreed but I didn't find the time to track down an appropriate place to do that. Richard. > Jeff >