This is a write-only parameter, it cannot be relied upon either.
So remove it.
* tree-vectorizer.h (_loop_vec_info::epil_using_partial_vectors_p):
Remove.
(LOOP_VINFO_EPIL_USING_PARTIAL_VECTORS_P): Likewise.
* tree-vect-loop.cc (_loop_vec_info::_loop_vec_info):
Do not initialize epil_using_partial_vectors_p.
(vect_determine_partial_vectors_and_peeling): Do not set it.
---
gcc/tree-vect-loop.cc | 17 +----------------
gcc/tree-vectorizer.h | 6 ------
2 files changed, 1 insertion(+), 22 deletions(-)
diff --git a/gcc/tree-vect-loop.cc b/gcc/tree-vect-loop.cc
index b81227b7ace..0ad328f7905 100644
--- a/gcc/tree-vect-loop.cc
+++ b/gcc/tree-vect-loop.cc
@@ -749,7 +749,6 @@ _loop_vec_info::_loop_vec_info (class loop *loop_in,
vec_info_shared *shared)
using_partial_vectors_p (false),
using_decrementing_iv_p (false),
using_select_vl_p (false),
- epil_using_partial_vectors_p (false),
allow_mutual_alignment (false),
partial_load_store_bias (0),
peeling_for_gaps (false),
@@ -1996,7 +1995,6 @@ vect_get_datarefs_in_loop (loop_p loop, basic_block *bbs,
In this case:
LOOP_VINFO_USING_PARTIAL_VECTORS_P == true
- LOOP_VINFO_EPIL_USING_PARTIAL_VECTORS_P == false
LOOP_VINFO_PEELING_FOR_NITER == false
(2) Make LOOP_VINFO operate on full vectors and use an epilogue loop
@@ -2005,18 +2003,6 @@ vect_get_datarefs_in_loop (loop_p loop, basic_block *bbs,
LOOP_VINFO_USING_PARTIAL_VECTORS_P == false
LOOP_VINFO_PEELING_FOR_NITER == true
- There are two choices:
-
- (2a) Consider vectorizing the epilogue loop at the same VF as the
- main loop, but using partial vectors instead of full vectors.
- In this case:
-
- LOOP_VINFO_EPIL_USING_PARTIAL_VECTORS_P == true
-
- (2b) Consider vectorizing the epilogue loop at lower VFs only.
- In this case:
-
- LOOP_VINFO_EPIL_USING_PARTIAL_VECTORS_P == false
*/
opt_result
@@ -2028,7 +2014,6 @@ vect_determine_partial_vectors_and_peeling (loop_vec_info
loop_vinfo)
/* Decide whether to vectorize the loop with partial vectors. */
LOOP_VINFO_USING_PARTIAL_VECTORS_P (loop_vinfo) = false;
- LOOP_VINFO_EPIL_USING_PARTIAL_VECTORS_P (loop_vinfo) = false;
if (LOOP_VINFO_CAN_USE_PARTIAL_VECTORS_P (loop_vinfo)
&& LOOP_VINFO_MUST_USE_PARTIAL_VECTORS_P (loop_vinfo))
LOOP_VINFO_USING_PARTIAL_VECTORS_P (loop_vinfo) = true;
@@ -2051,7 +2036,7 @@ vect_determine_partial_vectors_and_peeling (loop_vec_info
loop_vinfo)
|| loop_vinfo->suggested_unroll_factor > 1)
&& !LOOP_VINFO_EPILOGUE_P (loop_vinfo)
&& !vect_known_niters_smaller_than_vf (loop_vinfo))
- LOOP_VINFO_EPIL_USING_PARTIAL_VECTORS_P (loop_vinfo) = true;
+ ;
else
LOOP_VINFO_USING_PARTIAL_VECTORS_P (loop_vinfo) = true;
}
diff --git a/gcc/tree-vectorizer.h b/gcc/tree-vectorizer.h
index ff00457ea16..bb153594f8e 100644
--- a/gcc/tree-vectorizer.h
+++ b/gcc/tree-vectorizer.h
@@ -1135,10 +1135,6 @@ public:
for single-rgroup control. */
bool using_select_vl_p;
- /* True if we've decided to use partially-populated vectors for the
- epilogue of loop. */
- bool epil_using_partial_vectors_p;
-
/* True if we've decided to use peeling with versioning together, which
allows
unaligned unsupported data refs to be uniformly aligned after a certain
amount of peeling (mutual alignment). Otherwise, we use versioning alone
@@ -1272,8 +1268,6 @@ public:
#define LOOP_VINFO_USING_PARTIAL_VECTORS_P(L) (L)->using_partial_vectors_p
#define LOOP_VINFO_USING_DECREMENTING_IV_P(L) (L)->using_decrementing_iv_p
#define LOOP_VINFO_USING_SELECT_VL_P(L) (L)->using_select_vl_p
-#define LOOP_VINFO_EPIL_USING_PARTIAL_VECTORS_P(L)
\
- (L)->epil_using_partial_vectors_p
#define LOOP_VINFO_ALLOW_MUTUAL_ALIGNMENT(L) (L)->allow_mutual_alignment
#define LOOP_VINFO_PARTIAL_LOAD_STORE_BIAS(L) (L)->partial_load_store_bias
#define LOOP_VINFO_VECT_FACTOR(L) (L)->vectorization_factor
--
2.51.0