aboutsummaryrefslogtreecommitdiff
path: root/libgo
diff options
context:
space:
mode:
authorRobin Dapp <rdapp@ventanamicro.com>2025-08-28 11:52:51 +0200
committerRobin Dapp <rdapp@ventanamicro.com>2025-09-04 12:48:40 +0200
commit8bb076ac0d887a6a67263e280b17aacd9e5062e7 (patch)
tree098b40fa268c1b2ef0f610d668ba611f89ec4a30 /libgo
parent56e7010eef88d941c59e3d677b7bc67a890c210d (diff)
downloadgcc-8bb076ac0d887a6a67263e280b17aacd9e5062e7.zip
gcc-8bb076ac0d887a6a67263e280b17aacd9e5062e7.tar.gz
gcc-8bb076ac0d887a6a67263e280b17aacd9e5062e7.tar.bz2
vect: Use poly_int64 for prolog bound.
Since peeling and version for alignment for VLA modes was introduced (r16-3065-geee51f9a4b6) we have been seeing a lot of test suite failures like internal compiler error: in apply_scale, at profile-count.h:1187 This is because vect_gen_prolog_loop_niters sets the prolog bound to -1 in case align_in_elems is a non-constant poly_int. bound - 1 is later used to scale the loop profile in scale_loop_profile so we try to calculate with an assumed -2 iterations. This patch changes bound_prolog to poly_int64, using a poly estimate for frequency scaling but only records an iteration bound for the prolog if the bound is a scalar. PR/tree-optimization 121523 gcc/ChangeLog: * tree-vect-loop-manip.cc (vect_gen_prolog_loop_niters): Change prolog bound to poly_int64. (vect_gen_scalar_loop_niters): Ditto. (vect_do_peeling): Use poly estimate for frequency scaling.
Diffstat (limited to 'libgo')
0 files changed, 0 insertions, 0 deletions