v2 Changes:
  * PATCH 01/13 vect: Relax known iteration number constraint - Reject
  early break vectorization of nested loops in
  `vect_analyze_loop_form' and avoid trying to treat ill-formed
  counted loops as uncounted.
  *  PATCH 02/13 vect: Make all exit conditions early breaks for
  uncounted loops - s/*_iv_exit/*_main_exit/.
  * PATCH 03/13 vect: Correct analysis of nested loops - Dropped.
  * PATCH 04/13 vect: Extend `vec_init_loop_exit_info' to handle
  uncounted loops - Reject any early-break exit loops, counted or
  uncounted andy exit fails to satisfy the
  `get_loop_exit_condition (exit)' condition.
  * PATCH 05/13 vect: Add default types & retvals for uncounted loops
  Replace uses of `size_t' with `sizetype'.
  * PATCH 06/13 vect: guard niters manipulation with
  `LOOP_VINFO_NITERS_UNCOUNTED_P' - No change.
  * PATCH 07/13 vect: Disable niters-based skipping of uncounted
  vectorized loops - Reorganize order of tests in `if' statement for
  more efficient use of short-circuit evaluation.
  *  PATCH 08/13 vect: Reclassify early break fold left reductions as
  simple reductions - Dropped.
  * PATCH 09/13 vect: Fix uncounted PHI handling of
  `slpeel_tree_duplicate_loop_to_edge_cfg' - Minor formatting fix.
  * PATCH 10/13 vect: Correct resetting of live out values on epilog
  loop entry - Independent of the series, to be submitted
  independently.
  * PATCH 11/13 vect: Disable use of partial vectors for uncounted
  loops - Add missing comment.
  * PATCH 12/13 vect: Reject uncounted loop vectorization where alias
  analysis may fail - Reorder statements, fix diagnostic message
  formatting.
  * PATCH 13/13 vect: Add uncounted loop unit tests - Prolog peeling
  test added.
  - PATCH Prolog peeling patch v2 merged onto to this series - A simple
  dummy exit is added as main exit, as opposed to duplicating the last
  existing exit unnecessarily.

Victor Do Nascimento (14):
  vect: Relax known iteration number constraint
  vect: Make all exit conditions early breaks for uncounted loops
  vect: Correct analysis of nested loops
  vect: Extend `vec_init_loop_exit_info' to handle uncounted loops
  vect: Add default types & retvals for uncounted loops
  vect: guard niters manipulation with `LOOP_VINFO_NITERS_UNCOUNTED_P'
  vect: Disable niters-based skipping of uncounted vectorized loops
  vect: Reclassify early break fold left reductions as simple reductions
  vect: Fix uncounted PHI handling of
    `slpeel_tree_duplicate_loop_to_edge_cfg'
  vect: Correct resetting of live out values on epilog loop entry
  vect: Disable use of partial vectors for uncounted loops
  vect: Reject uncounted loop vectorization where alias analysis may
    fail
  vect: Enable prolog peeling for uncounted loops
  vect: Add uncounted loop unit tests

 .../gcc.dg/gomp/static-chunk-size-one.c       |   2 +-
 .../gcc.dg/vect/vect-early-break_40.c         |   3 +-
 gcc/testsuite/gcc.dg/vect/vect-uncounted-1.c  |  18 ++
 gcc/testsuite/gcc.dg/vect/vect-uncounted-2.c  |  16 ++
 gcc/testsuite/gcc.dg/vect/vect-uncounted-3.c  |  26 +++
 gcc/testsuite/gcc.dg/vect/vect-uncounted-4.c  |  17 ++
 .../vect/vect-uncounted-prolog-peel-1.c       |  23 ++
 .../gcc.dg/vect/vect-uncounted-run-1.c        |  42 ++++
 gcc/tree-vect-data-refs.cc                    |  13 +-
 gcc/tree-vect-loop-manip.cc                   | 210 ++++++++++++------
 gcc/tree-vect-loop.cc                         | 133 ++++++++---
 gcc/tree-vectorizer.cc                        |   2 +-
 gcc/tree-vectorizer.h                         |  32 +--
 13 files changed, 413 insertions(+), 124 deletions(-)
 create mode 100644 gcc/testsuite/gcc.dg/vect/vect-uncounted-1.c
 create mode 100644 gcc/testsuite/gcc.dg/vect/vect-uncounted-2.c
 create mode 100644 gcc/testsuite/gcc.dg/vect/vect-uncounted-3.c
 create mode 100644 gcc/testsuite/gcc.dg/vect/vect-uncounted-4.c
 create mode 100644 gcc/testsuite/gcc.dg/vect/vect-uncounted-prolog-peel-1.c
 create mode 100644 gcc/testsuite/gcc.dg/vect/vect-uncounted-run-1.c

-- 
2.43.0

Reply via email to