On Mon, Oct 05, 2015 at 06:27:53PM +0200, Richard Biener wrote: > On October 5, 2015 4:46:44 PM GMT+02:00, Marek Polacek <pola...@redhat.com> > wrote: > >On Mon, Oct 05, 2015 at 04:26:49PM +0200, Richard Biener wrote: > >> > > Otherwise other setters of SSA_NAME_RANGE_INFO would need to make > >> > > sure SSA_NAME_ANTI_RANGE_P is cleared as well. > >> > > >> > They mostly do, if I'm looking right, e.g. > >> > tree-ssa-phiopt.c:1016 > >> > tree-ssa-loop-im.c:1224 > >> > tree-ssa-loop-im.c:1294 > >> > and I've also seen > >> > <https://gcc.gnu.org/ml/gcc-patches/2015-01/msg00127.html>. > >> > >> Those would be redundant then. > > > >I can give this a whirl (as a follow-up)... > > OK for trunk.
Thanks. Just for the record, I've succefully regtested/bootstrapped this patch on x86_64-linux. Applying to trunk. > >2015-10-05 Marek Polacek <pola...@redhat.com> > > > > * tree-ssa-loop-im.c > > (move_computations_dom_walker::before_dom_children): Don't set > > SSA_NAME_ANTI_RANGE_P. > > * tree-ssa-phiopt.c (value_replacement): Likewise. > > > >diff --git gcc/tree-ssa-loop-im.c gcc/tree-ssa-loop-im.c > >index f3389a0..9b2436f 100644 > >--- gcc/tree-ssa-loop-im.c > >+++ gcc/tree-ssa-loop-im.c > >@@ -1222,7 +1222,6 @@ move_computations_dom_walker::before_dom_children > >(basic_block bb) > > { > > tree lhs = gimple_assign_lhs (new_stmt); > > SSA_NAME_RANGE_INFO (lhs) = NULL; > >- SSA_NAME_ANTI_RANGE_P (lhs) = 0; > > } > > gsi_insert_on_edge (loop_preheader_edge (level), new_stmt); > > remove_phi_node (&bsi, false); > >@@ -1292,7 +1291,6 @@ move_computations_dom_walker::before_dom_children > >(basic_block bb) > > { > > tree lhs = gimple_get_lhs (stmt); > > SSA_NAME_RANGE_INFO (lhs) = NULL; > >- SSA_NAME_ANTI_RANGE_P (lhs) = 0; > > } > > /* In case this is a stmt that is not unconditionally executed > > when the target loop header is executed and the stmt may > >diff --git gcc/tree-ssa-phiopt.c gcc/tree-ssa-phiopt.c > >index 697836a..f33ca5c 100644 > >--- gcc/tree-ssa-phiopt.c > >+++ gcc/tree-ssa-phiopt.c > >@@ -1014,7 +1014,6 @@ value_replacement (basic_block cond_bb, > >basic_block middle_bb, > > <bb 4>: > > # u_3 = PHI <u_6(3), 4294967295(2)> */ > > SSA_NAME_RANGE_INFO (lhs) = NULL; > >- SSA_NAME_ANTI_RANGE_P (lhs) = 0; > > /* If available, we can use VR of phi result at least. */ > > tree phires = gimple_phi_result (phi); > > struct range_info_def *phires_range_info Marek