This patchset is an followed update from [1]. Patch 1 is expecting review comments from Honza[2]; Patch 2 refactors loop_version to remove loopify call and adjust condition generation later than loopify; Patch 3 and Patch 4 are function renamings to help better understanding.
[1] https://gcc.gnu.org/pipermail/gcc-patches/2021-October/582600.html [2] https://gcc.gnu.org/pipermail/gcc-patches/2021-October/582607.html Xionghu Luo (4): Fix loop split incorrect count and probability Refactor loop_version Rename loop_version to clone_loop_to_header_edge. Rename duplicate_loop_to_header_edge to duplicate_loop_body_to_header_edge gcc/cfghooks.c | 27 +++---- gcc/cfghooks.h | 13 ++- gcc/cfgloopmanip.c | 144 +++++++++++----------------------- gcc/cfgloopmanip.h | 17 ++-- gcc/cfgrtl.c | 2 +- gcc/doc/loop.texi | 4 +- gcc/gimple-loop-versioning.cc | 11 +-- gcc/loop-unroll.c | 27 +++---- gcc/modulo-sched.c | 6 +- gcc/tree-cfg.c | 2 +- gcc/tree-if-conv.c | 13 +-- gcc/tree-loop-distribution.c | 4 +- gcc/tree-parloops.c | 10 +-- gcc/tree-ssa-loop-ivcanon.c | 4 +- gcc/tree-ssa-loop-manip.c | 31 ++++---- gcc/tree-ssa-loop-manip.h | 7 +- gcc/tree-ssa-loop-split.c | 39 +++++---- gcc/tree-ssa-loop-unswitch.c | 8 +- gcc/tree-vect-loop-manip.c | 5 +- 19 files changed, 159 insertions(+), 215 deletions(-) -- 2.27.0.90.geebb51ba8c