https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100038
--- Comment #14 from GCC Commits <cvs-commit at gcc dot gnu.org> --- The trunk branch has been updated by Andrew Pinski <pins...@gcc.gnu.org>: https://gcc.gnu.org/g:07a14a490b8f57dfe2a5b853fb4b88e9e124a92b commit r16-238-g07a14a490b8f57dfe2a5b853fb4b88e9e124a92b Author: Andrew Pinski <quic_apin...@quicinc.com> Date: Sat Apr 5 04:47:59 2025 -0700 Add testcase for bogus Warray-bounds warning dealing with __builtin_unreachable [PR100038] After EVRP was switched to the ranger (r12-2305-g398572c1544d8b), we are better handling the case where __builtin_unreachable comes after a loop. Instead of removing __builtin_unreachable and having the loop become an infinite one; it is kept around longer and allows GCC to unroll the loop 2 times instead of 3 times. When GCC unrolled the loop 3 times, GCC would produce a bogus Warray-bounds warning for the 3rd iteration. This adds the testcase to make sure we don't regress on this case. It is originally extracted from LLVM source code too. PR tree-optimization/100038 gcc/testsuite/ChangeLog: * g++.dg/tree-ssa/pr100038.C: New test. Signed-off-by: Andrew Pinski <quic_apin...@quicinc.com>