diff mbox series

Remove unnecessary temporary in tree-if-conv.c

Message ID 874lpsyjng.fsf@linaro.org
State New
Headers show
Series Remove unnecessary temporary in tree-if-conv.c | expand

Commit Message

Richard Sandiford Nov. 17, 2017, 4:06 p.m. UTC
The call to ifc_temp_var in predicate_mem_writes become redundant
in r230099.  Before that point the mask was calculated using
fold_build_*s, but now it's calculated by gimple_build and so
is already a valid gimple value.

As it stands, the call forces an SSA_NAME-to-SSA_NAME copy
to be created, whereas SLP expects that such redundant copies
have already been eliminated.

This is latent at the moment, but since it's dead code...

Tested on aarch64-linux-gnu (with and without SVE), x86_64-linux-gnu
and powerpc64le-linux-gnu.  OK to install?

Richard


2017-11-17  Richard Sandiford  <richard.sandiford@linaro.org>

gcc/
	* tree-if-conv.c (predicate_mem_writes): Remove redundant
	call to ifc_temp_var.

Comments

Jeff Law Nov. 17, 2017, 6:11 p.m. UTC | #1
On 11/17/2017 09:06 AM, Richard Sandiford wrote:
> The call to ifc_temp_var in predicate_mem_writes become redundant

> in r230099.  Before that point the mask was calculated using

> fold_build_*s, but now it's calculated by gimple_build and so

> is already a valid gimple value.

> 

> As it stands, the call forces an SSA_NAME-to-SSA_NAME copy

> to be created, whereas SLP expects that such redundant copies

> have already been eliminated.

> 

> This is latent at the moment, but since it's dead code...

> 

> Tested on aarch64-linux-gnu (with and without SVE), x86_64-linux-gnu

> and powerpc64le-linux-gnu.  OK to install?

> 

> Richard

> 

> 

> 2017-11-17  Richard Sandiford  <richard.sandiford@linaro.org>

> 

> gcc/

> 	* tree-if-conv.c (predicate_mem_writes): Remove redundant

> 	call to ifc_temp_var.

OK.
jeff
diff mbox series

Patch

Index: gcc/tree-if-conv.c
===================================================================
--- gcc/tree-if-conv.c	2017-11-17 15:07:43.953630256 +0000
+++ gcc/tree-if-conv.c	2017-11-17 16:05:10.483025412 +0000
@@ -2261,7 +2261,6 @@  predicate_mem_writes (loop_p loop)
 		    }
 		  gsi_insert_seq_before (&gsi, stmts, GSI_SAME_STMT);
 
-		  mask = ifc_temp_var (TREE_TYPE (mask), mask, &gsi);
 		  /* Save mask and its size for further use.  */
 		  vect_sizes.safe_push (bitsize);
 		  vect_masks.safe_push (mask);