tree-vect-loop.c (vect_analyze_loop_operations): Adjust call to vectorizable_live_ope...
authorBernd Edlinger <bernd.edlinger@hotmail.de>
Fri, 11 Oct 2019 14:17:32 +0000 (14:17 +0000)
committerBernd Edlinger <edlinger@gcc.gnu.org>
Fri, 11 Oct 2019 14:17:32 +0000 (14:17 +0000)
2019-10-11  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * tree-vect-loop.c (vect_analyze_loop_operations): Adjust call to
        vectorizable_live_operation.
        (vectorizable_live_operation): Adjust parameters.
        * tree-vect-stmts.c (vect_init_vector,
        vect_gen_widened_results_half): Fix typo in function comment.
        (can_vectorize_live_stmts): Adjust function comment.
        Adjust parameters.  Adjust call to vectorizable_live_operation.
        (vect_analyze_stmt): Adjust call to can_vectorize_live_stmts.
        (vect_transform_stmt): Adjust function comment.  Adjust call to
        can_vectorize_live_stmts.
        * tree-vectorizer.h (vectorizable_live_operation): Adjust parameters.

From-SVN: r276886

gcc/ChangeLog
gcc/tree-vect-loop.c
gcc/tree-vect-stmts.c
gcc/tree-vectorizer.h

index 34a6db2e73e15e08112d0344c5c2e3a333238e84..1a86675904399c4540b493cf50eabd091d13d8b1 100644 (file)
@@ -1,3 +1,17 @@
+2019-10-11  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+       * tree-vect-loop.c (vect_analyze_loop_operations): Adjust call to
+       vectorizable_live_operation.
+       (vectorizable_live_operation): Adjust parameters.
+       * tree-vect-stmts.c (vect_init_vector,
+       vect_gen_widened_results_half): Fix typo in function comment.
+       (can_vectorize_live_stmts): Adjust function comment.
+       Adjust parameters.  Adjust call to vectorizable_live_operation.
+       (vect_analyze_stmt): Adjust call to can_vectorize_live_stmts.
+       (vect_transform_stmt): Adjust function comment.  Adjust call to
+       can_vectorize_live_stmts.
+       * tree-vectorizer.h (vectorizable_live_operation): Adjust parameters.
+
 2019-10-11  Richard Biener  <rguenther@suse.de>
 
        PR tree-optimization/90883
index 14352102f54f06a49b0285e4baa47743b2b376c2..cb95ea36298886955cfd789c75f09242e02e98d1 100644 (file)
@@ -1566,7 +1566,7 @@ vect_analyze_loop_operations (loop_vec_info loop_vinfo)
              && STMT_VINFO_LIVE_P (stmt_info)
              && !PURE_SLP_STMT (stmt_info))
            ok = vectorizable_live_operation (stmt_info, NULL, NULL, NULL,
-                                             -1, NULL, &cost_vec);
+                                             -1, false, &cost_vec);
 
           if (!ok)
            return opt_result::failure_at (phi,
@@ -7628,9 +7628,9 @@ vectorizable_induction (stmt_vec_info stmt_info,
 
 bool
 vectorizable_live_operation (stmt_vec_info stmt_info,
-                            gimple_stmt_iterator *gsi ATTRIBUTE_UNUSED,
+                            gimple_stmt_iterator *gsi,
                             slp_tree slp_node, slp_instance slp_node_instance,
-                            int slp_index, stmt_vec_info *vec_stmt,
+                            int slp_index, bool vec_stmt_p,
                             stmt_vector_for_cost *)
 {
   loop_vec_info loop_vinfo = STMT_VINFO_LOOP_VINFO (stmt_info);
@@ -7652,7 +7652,7 @@ vectorizable_live_operation (stmt_vec_info stmt_info,
      validity so just trigger the transform here.  */
   if (STMT_VINFO_REDUC_DEF (vect_orig_stmt (stmt_info)))
     {
-      if (!vec_stmt)
+      if (!vec_stmt_p)
        return true;
       if (slp_node)
        {
@@ -7721,7 +7721,7 @@ vectorizable_live_operation (stmt_vec_info stmt_info,
        }
     }
 
-  if (!vec_stmt)
+  if (!vec_stmt_p)
     {
       /* No transformation required.  */
       if (LOOP_VINFO_CAN_FULLY_MASK_P (loop_vinfo))
index 9ebd3e3fa369ad5023cb9fa1c375111844820cbb..e606945d536ad3353b2317aed5b504a89eec9fc3 100644 (file)
@@ -1449,7 +1449,7 @@ vect_init_vector_1 (stmt_vec_info stmt_vinfo, gimple *new_stmt,
    Insert a new stmt (INIT_STMT) that initializes a new variable of type
    TYPE with the value VAL.  If TYPE is a vector type and VAL does not have
    vector type a vector with all elements equal to VAL is created first.
-   Place the initialization at BSI if it is not NULL.  Otherwise, place the
+   Place the initialization at GSI if it is not NULL.  Otherwise, place the
    initialization at the loop preheader.
    Return the DEF of INIT_STMT.
    It will be used in the vectorization of STMT_INFO.  */
@@ -4484,7 +4484,7 @@ vectorizable_simd_clone_call (stmt_vec_info stmt_info,
 
    Create a vector stmt whose code, type, number of arguments, and result
    variable are CODE, OP_TYPE, and VEC_DEST, and its arguments are
-   VEC_OPRND0 and VEC_OPRND1.  The new vector stmt is to be inserted at BSI.
+   VEC_OPRND0 and VEC_OPRND1.  The new vector stmt is to be inserted at GSI.
    In the case that CODE is a CALL_EXPR, this means that a call to DECL
    needs to be created (DECL is a function-decl of a target-builtin).
    STMT_INFO is the original scalar stmt that we are vectorizing.  */
@@ -10474,12 +10474,12 @@ vectorizable_comparison (stmt_vec_info stmt_info, gimple_stmt_iterator *gsi,
 /* If SLP_NODE is nonnull, return true if vectorizable_live_operation
    can handle all live statements in the node.  Otherwise return true
    if STMT_INFO is not live or if vectorizable_live_operation can handle it.
-   GSI and VEC_STMT are as for vectorizable_live_operation.  */
+   GSI and VEC_STMT_P are as for vectorizable_live_operation.  */
 
 static bool
 can_vectorize_live_stmts (stmt_vec_info stmt_info, gimple_stmt_iterator *gsi,
                          slp_tree slp_node, slp_instance slp_node_instance,
-                         stmt_vec_info *vec_stmt,
+                         bool vec_stmt_p,
                          stmt_vector_for_cost *cost_vec)
 {
   if (slp_node)
@@ -10491,14 +10491,14 @@ can_vectorize_live_stmts (stmt_vec_info stmt_info, gimple_stmt_iterator *gsi,
          if (STMT_VINFO_LIVE_P (slp_stmt_info)
              && !vectorizable_live_operation (slp_stmt_info, gsi, slp_node,
                                               slp_node_instance, i,
-                                              vec_stmt, cost_vec))
+                                              vec_stmt_p, cost_vec))
            return false;
        }
     }
   else if (STMT_VINFO_LIVE_P (stmt_info)
           && !vectorizable_live_operation (stmt_info, gsi, slp_node,
                                            slp_node_instance, -1,
-                                           vec_stmt, cost_vec))
+                                           vec_stmt_p, cost_vec))
     return false;
 
   return true;
@@ -10712,7 +10712,7 @@ vect_analyze_stmt (stmt_vec_info stmt_info, bool *need_to_vectorize,
       && STMT_VINFO_TYPE (stmt_info) != reduc_vec_info_type
       && STMT_VINFO_TYPE (stmt_info) != lc_phi_info_type
       && !can_vectorize_live_stmts (stmt_info, NULL, node, node_instance,
-                                   NULL, cost_vec))
+                                   false, cost_vec))
     return opt_result::failure_at (stmt_info->stmt,
                                   "not vectorized:"
                                   " live stmt not supported: %G",
@@ -10724,7 +10724,7 @@ vect_analyze_stmt (stmt_vec_info stmt_info, bool *need_to_vectorize,
 
 /* Function vect_transform_stmt.
 
-   Create a vectorized stmt to replace STMT_INFO, and insert it at BSI.  */
+   Create a vectorized stmt to replace STMT_INFO, and insert it at GSI.  */
 
 bool
 vect_transform_stmt (stmt_vec_info stmt_info, gimple_stmt_iterator *gsi,
@@ -10945,7 +10945,7 @@ vect_transform_stmt (stmt_vec_info stmt_info, gimple_stmt_iterator *gsi,
   /* Handle stmts whose DEF is used outside the loop-nest that is
      being vectorized.  */
   done = can_vectorize_live_stmts (stmt_info, gsi, slp_node,
-                                  slp_node_instance, &vec_stmt, NULL);
+                                  slp_node_instance, true, NULL);
   gcc_assert (done);
 
   return false;
index 484de4f6e11e7bda3301febe41dbc1787cbc1f22..291304fe95e13d8123877d4ff41c6d9fe8d60bb6 100644 (file)
@@ -1653,8 +1653,7 @@ extern opt_loop_vec_info vect_analyze_loop_form (class loop *,
                                                 vec_info_shared *);
 extern bool vectorizable_live_operation (stmt_vec_info, gimple_stmt_iterator *,
                                         slp_tree, slp_instance, int,
-                                        stmt_vec_info *,
-                                        stmt_vector_for_cost *);
+                                        bool, stmt_vector_for_cost *);
 extern bool vectorizable_reduction (stmt_vec_info, slp_tree, slp_instance,
                                    stmt_vector_for_cost *);
 extern bool vectorizable_induction (stmt_vec_info, gimple_stmt_iterator *,