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_apinski@quicinc.com>