Message ID | 20151005144644.GM6184@redhat.com |
---|---|
State | New |
Headers | show |
On October 5, 2015 4:46:44 PM GMT+02:00, Marek Polacek <polacek@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, Richard. >2015-10-05 Marek Polacek <polacek@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
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 <polacek@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 <polacek@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
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