Ping
> -----Original Message-----
> From: Alex Coplan <alex.cop...@arm.com>
> Sent: Monday, January 6, 2025 11:36 AM
> To: gcc-patches@gcc.gnu.org
> Cc: Richard Biener <rguent...@suse.de>; Jan Hubicka <hubi...@ucw.cz>; Tamar
> Christina <tamar.christ...@arm.com>
> Subject: [PATCH 4/4] vect: Fix scale_profile_for_vect_loop for multiple exits
> [PR117790]
>
> This adjusts scale_profile_for_vect_loop to DTRT for loops with multiple
> exits,
> namely using scale_loop_profile_hold_exit_counts instead and scaling the
> expected niters by 1 / VF.
>
> Tested as a series on aarch64-linux-gnu, arm-linux-gnueabihf, and
> x86_64-linux-gnu. OK for trunk?
>
> Thanks,
> Alex
>
> gcc/ChangeLog:
>
> PR tree-optimization/117790
> * tree-vect-loop.cc (scale_profile_for_vect_loop): Use
> scale_loop_profile_hold_exit_counts instead of scale_loop_profile. Drop
> the exit edge parameter, since the code now handles multiple exits.
> Adjust the caller ...
> (vect_transform_loop): ... here.
>
> gcc/testsuite/ChangeLog:
>
> PR tree-optimization/117790
> * gcc.dg/vect/vect-early-break-profile-2.c: New test.
> ---
> .../gcc.dg/vect/vect-early-break-profile-2.c | 21 +++++++++++++++++++
> gcc/tree-vect-loop.cc | 21 ++++++-------------
> 2 files changed, 27 insertions(+), 15 deletions(-)
> create mode 100644 gcc/testsuite/gcc.dg/vect/vect-early-break-profile-2.c