This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Clear SSA_NAME_ANTI_RANGE_P when appropriate (PR tree-optimization/67821)


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



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]