This replaces trivially to fold conditions.
---
 gcc/tree-vect-loop.cc | 90 +++++++++++++++++++++----------------------
 1 file changed, 45 insertions(+), 45 deletions(-)

diff --git a/gcc/tree-vect-loop.cc b/gcc/tree-vect-loop.cc
index 3de1ea646b4..69b692f1673 100644
--- a/gcc/tree-vect-loop.cc
+++ b/gcc/tree-vect-loop.cc
@@ -5988,12 +5988,12 @@ vect_create_epilog_for_reduction (loop_vec_info loop_vinfo,
      a2 = operation (a1)
      b2 = operation (b1)  */
   bool slp_reduc
-    = (slp_node
+    = (1
        && !REDUC_GROUP_FIRST_ELEMENT (STMT_VINFO_REDUC_DEF (reduc_info)));
   bool direct_slp_reduc;
   tree induction_index = NULL_TREE;
 
-  if (slp_node)
+  if (1)
     group_size = SLP_TREE_LANES (slp_node);
 
   if (nested_in_vect_loop_p (loop, stmt_info))
@@ -6026,7 +6026,7 @@ vect_create_epilog_for_reduction (loop_vec_info loop_vinfo,
 
   unsigned vec_num;
   int ncopies;
-  if (slp_node)
+  if (1)
     {
       vec_num = SLP_TREE_VEC_DEFS (slp_node_instance->reduc_phis).length ();
       ncopies = 1;
@@ -6050,7 +6050,7 @@ vect_create_epilog_for_reduction (loop_vec_info loop_vinfo,
   if (STMT_VINFO_REDUC_TYPE (reduc_info) == COND_REDUCTION)
     {
       auto_vec<std::pair<tree, bool>, 2> ccompares;
-      if (slp_node)
+      if (1)
 	{
 	  slp_tree cond_node = slp_node_instance->root;
 	  while (cond_node != slp_node_instance->reduc_phis)
@@ -6205,11 +6205,11 @@ vect_create_epilog_for_reduction (loop_vec_info loop_vinfo,
   /* We need to reduce values in all exits.  */
   exit_bb = loop_exit->dest;
   exit_gsi = gsi_after_labels (exit_bb);
-  reduc_inputs.create (slp_node ? vec_num : ncopies);
+  reduc_inputs.create (1 ? vec_num : ncopies);
   for (unsigned i = 0; i < vec_num; i++)
     {
       gimple_seq stmts = NULL;
-      if (slp_node)
+      if (1)
 	def = vect_get_slp_vect_def (slp_node, i);
       else
 	def = gimple_get_lhs (STMT_VINFO_VEC_STMTS (rdef_info)[0]);
@@ -6579,7 +6579,7 @@ vect_create_epilog_for_reduction (loop_vec_info loop_vinfo,
 	 is itself a neutral value.  */
       tree vector_identity = NULL_TREE;
       tree neutral_op = NULL_TREE;
-      if (slp_node)
+      if (1)
 	{
 	  tree initial_value = NULL_TREE;
 	  if (REDUC_GROUP_FIRST_ELEMENT (STMT_VINFO_REDUC_DEF (reduc_info)))
@@ -7100,7 +7100,7 @@ vectorize_fold_left_reduction (loop_vec_info loop_vinfo,
   internal_fn mask_reduc_fn = get_masked_reduction_fn (reduc_fn, vectype_in);
 
   int ncopies;
-  if (slp_node)
+  if (1)
     ncopies = 1;
   else
     ncopies = vect_get_num_copies (loop_vinfo, vectype_in);
@@ -7118,7 +7118,7 @@ vectorize_fold_left_reduction (loop_vec_info loop_vinfo,
 
   gcc_assert (TREE_CODE_LENGTH (tree_code (code)) == binary_op);
 
-  if (slp_node)
+  if (1)
     gcc_assert (known_eq (TYPE_VECTOR_SUBPARTS (vectype_out),
 			  TYPE_VECTOR_SUBPARTS (vectype_in)));
 
@@ -7130,7 +7130,7 @@ vectorize_fold_left_reduction (loop_vec_info loop_vinfo,
   int group_size = 1;
   stmt_vec_info scalar_dest_def_info;
   auto_vec<tree> vec_oprnds0, vec_opmask;
-  if (slp_node)
+  if (1)
     {
       vect_get_slp_defs (SLP_TREE_CHILDREN (slp_node)[(is_cond_op ? 2 : 0)
 						      + (1 - reduc_index)],
@@ -7167,7 +7167,7 @@ vectorize_fold_left_reduction (loop_vec_info loop_vinfo,
   tree reduc_var = gimple_phi_result (reduc_def_stmt);
 
   int vec_num = vec_oprnds0.length ();
-  gcc_assert (vec_num == 1 || slp_node);
+  gcc_assert (vec_num == 1 || 1);
   tree vec_elem_type = TREE_TYPE (vectype_out);
   gcc_checking_assert (useless_type_conversion_p (scalar_type, vec_elem_type));
 
@@ -7279,7 +7279,7 @@ vectorize_fold_left_reduction (loop_vec_info loop_vinfo,
 				     scalar_dest_def_info,
 				     new_stmt, gsi);
 
-      if (slp_node)
+      if (1)
 	slp_node->push_vec_def (new_stmt);
       else
 	{
@@ -7543,7 +7543,7 @@ vectorizable_lane_reducing (loop_vec_info loop_vinfo, stmt_vec_info stmt_info,
 	    return false;
 	}
 
-      if (slp_node && !vect_maybe_update_slp_op_vectype (slp_op, vectype))
+      if (1 && !vect_maybe_update_slp_op_vectype (slp_op, vectype))
 	{
 	  if (dump_enabled_p ())
 	    dump_printf_loc (MSG_MISSED_OPTIMIZATION, vect_location,
@@ -7682,7 +7682,7 @@ vectorizable_reduction (loop_vec_info loop_vinfo,
     {
       if (is_a <gphi *> (stmt_info->stmt))
 	{
-	  if (slp_node)
+	  if (1)
 	    {
 	      /* We eventually need to set a vector type on invariant
 		 arguments.  */
@@ -7723,7 +7723,7 @@ vectorizable_reduction (loop_vec_info loop_vinfo,
 	     the outer loop PHI.  The latter is what we want to analyze
 	     the reduction with.  The LC PHI is handled by
 	     vectorizable_lc_phi.  */
-	  gcc_assert (slp_node);
+	  gcc_assert (1);
 	  return gimple_phi_num_args (as_a <gphi *> (stmt_info->stmt)) == 2;
 	}
       use_operand_p use_p;
@@ -7734,7 +7734,7 @@ vectorizable_reduction (loop_vec_info loop_vinfo,
       phi_info = loop_vinfo->lookup_stmt (use_stmt);
     }
 
-  if (slp_node)
+  if (1)
     {
       slp_node_instance->reduc_phis = slp_node;
       /* ???  We're leaving slp_node to point to the PHIs, we only
@@ -7756,11 +7756,11 @@ vectorizable_reduction (loop_vec_info loop_vinfo,
   unsigned reduc_chain_length = 0;
   bool only_slp_reduc_chain = true;
   stmt_info = NULL;
-  slp_tree slp_for_stmt_info = slp_node ? slp_node_instance->root : NULL;
+  slp_tree slp_for_stmt_info = 1 ? slp_node_instance->root : NULL;
   /* For double-reductions we start SLP analysis at the inner loop LC PHI
      which is the def of the outer loop live stmt.  */
   if (STMT_VINFO_DEF_TYPE (reduc_info) == vect_double_reduction_def
-      && slp_node)
+      && 1)
     slp_for_stmt_info = SLP_TREE_CHILDREN (slp_for_stmt_info)[0];
   while (reduc_def != PHI_RESULT (reduc_def_phi))
     {
@@ -7863,7 +7863,7 @@ vectorizable_reduction (loop_vec_info loop_vinfo,
 
       reduc_def = op.ops[reduc_idx];
       reduc_chain_length++;
-      if (!stmt_info && slp_node)
+      if (!stmt_info && 1)
 	slp_for_stmt_info = SLP_TREE_CHILDREN (slp_for_stmt_info)[0];
     }
   /* PHIs should not participate in patterns.  */
@@ -7877,13 +7877,13 @@ vectorizable_reduction (loop_vec_info loop_vinfo,
 
   /* STMT_VINFO_REDUC_DEF doesn't point to the first but the last
      element.  */
-  if (slp_node && REDUC_GROUP_FIRST_ELEMENT (stmt_info))
+  if (1 && REDUC_GROUP_FIRST_ELEMENT (stmt_info))
     {
       gcc_assert (!REDUC_GROUP_NEXT_ELEMENT (stmt_info));
       stmt_info = REDUC_GROUP_FIRST_ELEMENT (stmt_info);
     }
   if (REDUC_GROUP_FIRST_ELEMENT (stmt_info))
-    gcc_assert (slp_node
+    gcc_assert (1
 		&& REDUC_GROUP_FIRST_ELEMENT (stmt_info) == stmt_info);
 
   /* 1. Is vectorizable reduction?  */
@@ -7939,7 +7939,7 @@ vectorizable_reduction (loop_vec_info loop_vinfo,
      OK to use them in a reduction chain or when the reduction group
      has just one element.  */
   if (lane_reducing
-      && slp_node
+      && 1
       && !REDUC_GROUP_FIRST_ELEMENT (stmt_info)
       && SLP_TREE_LANES (slp_node) > 1)
     {
@@ -8017,7 +8017,7 @@ vectorizable_reduction (loop_vec_info loop_vinfo,
   /* If we have a condition reduction, see if we can simplify it further.  */
   if (reduction_type == COND_REDUCTION)
     {
-      if (slp_node && SLP_TREE_LANES (slp_node) != 1)
+      if (1 && SLP_TREE_LANES (slp_node) != 1)
 	return false;
 
       /* When the condition uses the reduction value in the condition, fail.  */
@@ -8119,7 +8119,7 @@ vectorizable_reduction (loop_vec_info loop_vinfo,
   if (STMT_VINFO_LIVE_P (phi_info))
     return false;
 
-  if (slp_node)
+  if (1)
     ncopies = SLP_TREE_NUMBER_OF_VEC_STMTS (slp_node);
   else
     ncopies = vect_get_num_copies (loop_vinfo, vectype_in);
@@ -8194,7 +8194,7 @@ vectorizable_reduction (loop_vec_info loop_vinfo,
 	 outer-loop vectorization is safe.  Likewise when we are vectorizing
 	 a series of reductions using SLP and the VF is one the reductions
 	 are performed in scalar order.  */
-      if (slp_node
+      if (1
 	  && !REDUC_GROUP_FIRST_ELEMENT (stmt_info)
 	  && known_eq (LOOP_VINFO_VECT_FACTOR (loop_vinfo), 1u))
 	;
@@ -8227,7 +8227,7 @@ vectorizable_reduction (loop_vec_info loop_vinfo,
        || reduction_type == INTEGER_INDUC_COND_REDUCTION
        || reduction_type == CONST_COND_REDUCTION
        || reduction_type == EXTRACT_LAST_REDUCTION)
-      && slp_node
+      && 1
       && ncopies > 1)
     {
       if (dump_enabled_p ())
@@ -8237,7 +8237,7 @@ vectorizable_reduction (loop_vec_info loop_vinfo,
     }
 
   if ((double_reduc || reduction_type != TREE_CODE_REDUCTION)
-      && !slp_node
+      && 0
       && ncopies > 1)
     {
       if (dump_enabled_p ())
@@ -8308,7 +8308,7 @@ vectorizable_reduction (loop_vec_info loop_vinfo,
 
   /* For SLP reductions, see if there is a neutral value we can use.  */
   tree neutral_op = NULL_TREE;
-  if (slp_node)
+  if (1)
     {
       tree initial_value = NULL_TREE;
       if (REDUC_GROUP_FIRST_ELEMENT (stmt_info) != NULL)
@@ -8341,7 +8341,7 @@ vectorizable_reduction (loop_vec_info loop_vinfo,
     }
 
   if (reduction_type == FOLD_LEFT_REDUCTION
-      && (slp_node && SLP_TREE_LANES (slp_node) > 1)
+      && (1 && SLP_TREE_LANES (slp_node) > 1)
       && !REDUC_GROUP_FIRST_ELEMENT (stmt_info))
     {
       /* We cannot use in-order reductions in this case because there is
@@ -8370,7 +8370,7 @@ vectorizable_reduction (loop_vec_info loop_vinfo,
     }
 
   /* Check extra constraints for variable-length unchained SLP reductions.  */
-  if (slp_node
+  if (1
       && !REDUC_GROUP_FIRST_ELEMENT (stmt_info)
       && !nunits_out.is_constant ())
     {
@@ -8465,7 +8465,7 @@ vectorizable_reduction (loop_vec_info loop_vinfo,
    own reduction accumulator since one of the main goals of unrolling a
    reduction is to reduce the aggregate loop-carried latency.  */
   if (ncopies > 1
-      && (!slp_node
+      && (0
 	  || (!REDUC_GROUP_FIRST_ELEMENT (stmt_info)
 	      && SLP_TREE_LANES (slp_node) == 1))
       && (STMT_VINFO_RELEVANT (stmt_info) <= vect_used_only_live)
@@ -8518,7 +8518,7 @@ vectorizable_reduction (loop_vec_info loop_vinfo,
      reduction.  */
   single_defuse_cycle &= !lane_reducing;
 
-  if (slp_node
+  if (1
       && (single_defuse_cycle || reduction_type == FOLD_LEFT_REDUCTION))
     for (i = 0; i < (int) op.num_ops; i++)
       if (!vect_maybe_update_slp_op_vectype (slp_op[i], vectype_op[i]))
@@ -8549,7 +8549,7 @@ vectorizable_reduction (loop_vec_info loop_vinfo,
     {
       stmt_vec_info tem
 	= vect_stmt_to_vectorize (STMT_VINFO_REDUC_DEF (phi_info));
-      if (slp_node && REDUC_GROUP_FIRST_ELEMENT (tem))
+      if (1 && REDUC_GROUP_FIRST_ELEMENT (tem))
 	{
 	  gcc_assert (!REDUC_GROUP_NEXT_ELEMENT (tem));
 	  tem = REDUC_GROUP_FIRST_ELEMENT (tem);
@@ -8677,7 +8677,7 @@ vect_transform_reduction (loop_vec_info loop_vinfo,
   if (!vectype_in)
     vectype_in = STMT_VINFO_VECTYPE (stmt_info);
 
-  if (slp_node)
+  if (1)
     {
       ncopies = 1;
       vec_num = vect_get_num_copies (loop_vinfo, slp_node, vectype_in);
@@ -8748,7 +8748,7 @@ vect_transform_reduction (loop_vec_info loop_vinfo,
   tree scalar_dest = gimple_get_lhs (stmt_info->stmt);
   tree vec_dest = vect_create_destination_var (scalar_dest, vectype_out);
 
-  if (lane_reducing && !slp_node && !single_defuse_cycle)
+  if (lane_reducing && 0 && !single_defuse_cycle)
     {
       /* Note: there are still vectorizable cases that can not be handled by
 	 single-lane slp.  Probably it would take some time to evolve the
@@ -8945,7 +8945,7 @@ vect_transform_reduction (loop_vec_info loop_vinfo,
 	     handle over the operand to other dependent statements.  */
 	  gcc_assert (reduc_vop);
 
-	  if (slp_node && TREE_CODE (reduc_vop) == SSA_NAME
+	  if (1 && TREE_CODE (reduc_vop) == SSA_NAME
 	      && !SSA_NAME_IS_DEFAULT_DEF (reduc_vop))
 	    new_stmt = SSA_NAME_DEF_STMT (reduc_vop);
 	  else
@@ -9015,13 +9015,13 @@ vect_transform_reduction (loop_vec_info loop_vinfo,
 
       if (single_defuse_cycle && i < num - 1)
 	vec_oprnds[reduc_index].safe_push (gimple_get_lhs (new_stmt));
-      else if (slp_node)
+      else if (1)
 	slp_node->push_vec_def (new_stmt);
       else
 	STMT_VINFO_VEC_STMTS (stmt_info).safe_push (new_stmt);
     }
 
-  if (!slp_node)
+  if (0)
     *vec_stmt = STMT_VINFO_VEC_STMTS (stmt_info)[0];
 
   return true;
@@ -9058,7 +9058,7 @@ vect_transform_cycle_phi (loop_vec_info loop_vinfo,
     /* Leave the scalar phi in place.  */
     return true;
 
-  if (slp_node)
+  if (1)
     {
       vec_num = SLP_TREE_NUMBER_OF_VEC_STMTS (slp_node);
       ncopies = 1;
@@ -9086,7 +9086,7 @@ vect_transform_cycle_phi (loop_vec_info loop_vinfo,
   /* Get the loop-entry arguments.  */
   tree vec_initial_def = NULL_TREE;
   auto_vec<tree> vec_initial_defs;
-  if (slp_node)
+  if (1)
     {
       vec_initial_defs.reserve (vec_num);
       /* Optimize: if initial_def is for REDUC_MAX smaller than the base
@@ -9326,7 +9326,7 @@ vect_transform_cycle_phi (loop_vec_info loop_vinfo,
 
 	  /* The loop-latch arg is set in epilogue processing.  */
 
-	  if (slp_node)
+	  if (1)
 	    slp_node->push_vec_def (new_phi);
 	  else
 	    {
@@ -9360,7 +9360,7 @@ vectorizable_lc_phi (loop_vec_info loop_vinfo,
     {
       /* Deal with copies from externs or constants that disguise as
 	 loop-closed PHI nodes (PR97886).  */
-      if (slp_node
+      if (1
 	  && !vect_maybe_update_slp_op_vectype (SLP_TREE_CHILDREN (slp_node)[0],
 						SLP_TREE_VECTYPE (slp_node)))
 	{
@@ -9380,19 +9380,19 @@ vectorizable_lc_phi (loop_vec_info loop_vinfo,
   tree vec_dest = vect_create_destination_var (scalar_dest, vectype);
   auto_vec<tree> vec_oprnds;
   vect_get_vec_defs (loop_vinfo, stmt_info, slp_node,
-		     !slp_node ? vect_get_num_copies (loop_vinfo, vectype) : 1,
+		     0 ? vect_get_num_copies (loop_vinfo, vectype) : 1,
 		     gimple_phi_arg_def (stmt_info->stmt, 0), &vec_oprnds);
   for (unsigned i = 0; i < vec_oprnds.length (); i++)
     {
       /* Create the vectorized LC PHI node.  */
       gphi *new_phi = create_phi_node (vec_dest, bb);
       add_phi_arg (new_phi, vec_oprnds[i], e, UNKNOWN_LOCATION);
-      if (slp_node)
+      if (1)
 	slp_node->push_vec_def (new_phi);
       else
 	STMT_VINFO_VEC_STMTS (stmt_info).safe_push (new_phi);
     }
-  if (!slp_node)
+  if (0)
     *vec_stmt = STMT_VINFO_VEC_STMTS (stmt_info)[0];
 
   return true;

Reply via email to