On Wed, May 15, 2019 at 1:30 PM Martin Liška <mli...@suse.cz> wrote: > > On 5/15/19 1:21 PM, Richard Biener wrote: > > On Wed, May 15, 2019 at 12:21 PM Martin Liška <mli...@suse.cz> wrote: > >> > >> Hi. > >> > >> The patch is about handling of overflow in > >> jump_table_cluster::can_be_handled. > >> I calculate 100 * range and compare it to range. If it's smaller, then > >> overflow happens. > >> > >> Patch can bootstrap on x86_64-linux-gnu and survives regression tests. > >> > >> Ready to be installed? > > > > Looks good, but can the RHS overflow as well? > > That should be fine as maximal value of the PARAM is 1<32. And if I'm correct > HOST_WIDE_INT should have 64-bits?
Yes. > Martin > > > I suppose changing > > the compute/compare to uint64_t would fix the overflow but downstream > > the issue would re-appear? > > > > Richard. > > > >> Thanks, > >> Martin > >> > >> gcc/ChangeLog: > >> > >> 2019-05-15 Martin Liska <mli...@suse.cz> > >> > >> PR middle-end/90478 > >> * tree-switch-conversion.c (jump_table_cluster::can_be_handled): > >> Check for overflow. > >> > >> gcc/testsuite/ChangeLog: > >> > >> 2019-05-15 Martin Liska <mli...@suse.cz> > >> > >> PR middle-end/90478 > >> * gcc.dg/tree-ssa/pr90478-2.c: New test. > >> * gcc.dg/tree-ssa/pr90478.c: New test. > >> --- > >> gcc/testsuite/gcc.dg/tree-ssa/pr90478-2.c | 17 +++++++++++++++++ > >> gcc/testsuite/gcc.dg/tree-ssa/pr90478.c | 18 ++++++++++++++++++ > >> gcc/tree-switch-conversion.c | 6 +++++- > >> 3 files changed, 40 insertions(+), 1 deletion(-) > >> create mode 100644 gcc/testsuite/gcc.dg/tree-ssa/pr90478-2.c > >> create mode 100644 gcc/testsuite/gcc.dg/tree-ssa/pr90478.c > >> > >> >