This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Remove unnecessary temporary in tree-if-conv.c
- From: Richard Sandiford <richard dot sandiford at linaro dot org>
- To: gcc-patches at gcc dot gnu dot org
- Date: Fri, 17 Nov 2017 16:06:27 +0000
- Subject: Remove unnecessary temporary in tree-if-conv.c
- Authentication-results: sourceware.org; auth=none
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.
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);