[Bug tree-optimization/123152] [16 regression] ICE when building Valgrind (dominator of 15 should be 42, not 44) since r16-6133-gca8d97f8cb8
cvs-commit at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Dec 19 23:27:25 GMT 2025
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=123152
--- Comment #13 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Victor Do Nascimento
<victorldn@gcc.gnu.org>:
https://gcc.gnu.org/g:57acdcf3fb3ec8915142e85a35dc88a0f4ec5d68
commit r16-6306-g57acdcf3fb3ec8915142e85a35dc88a0f4ec5d68
Author: Victor Do Nascimento <victor.donascimento@arm.com>
Date: Wed Dec 17 15:42:59 2025 +0000
vect: Fix dominator update [PR123152]
The `recompute_dominator' function used in the code fragment within
this patch assumes correctness in the rest of the CFG. Consequently,
it is wrong to rely upon it before the subsequent updates are made in
the "Update dominators for multiple exits" loop in the function.
Furthermore, if `loop_exit' == `scalar_exit', the "Update dominators for
multiple exits" logic will already take care of updating the
dominator for `scalar_exit->dest', such that the moved statement is
unnecessary.
gcc/ChangeLog:
PR tree-optimization/123152
* tree-vect-loop-manip.cc
(slpeel_tree_duplicate_loop_to_edge_cfg): Correct order of
dominator update.
gcc/testsuite/ChangeLog:
* gcc.dg/vect/vect-uncounted-prolog-peel_2.c: New.
* gcc.dg/vect/vect-uncounted-prolog-peel_3.c: Likewise.
* g++.dg/vect/vect-uncounted-prolog-peel_1.cc: Likewise.
More information about the Gcc-bugs
mailing list