https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94114
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|[8/9/10 Regression] ICE in |[8/9 Regression] ICE in
|gimplify_modify_expr, at |gimplify_modify_expr, at
|gimplify.c:5936 |gimplify.c:5936
--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
commit r10-7120-g05ac4d9c7b336e30413dd80c3630981151499f9e
Author: Jakub Jelinek <[email protected]>
Date: Wed Mar 11 09:32:22 2020 +0100
ldist: Further fixes for -ftrapv [PR94114]
As the testcase shows, arithmetics that for -ftrapv would need multiple
basic blocks can show up not just in nb_bytes expressions where we
are calling rewrite_to_non_trapping_overflow for a while already,
but also in the pointer expression to the start of the region.
While the testcase covers just the first hunk and I've failed to create
a testcase for the latter, it is at least in theory possible too, so I've
adjusted that hunk too.
2020-03-11 Jakub Jelinek <[email protected]>
PR tree-optimization/94114
* tree-loop-distribution.c (generate_memset_builtin): Call
rewrite_to_non_trapping_overflow even on mem.
(generate_memcpy_builtin): Call rewrite_to_non_trapping_overflow
even
on dest and src.
* gcc.dg/pr94114.c: New test.