https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84436
--- Comment #8 from Martin Liška <marxin at gcc dot gnu.org> --- Author: marxin Date: Wed Oct 24 13:52:21 2018 New Revision: 265463 URL: https://gcc.gnu.org/viewcvs?rev=265463&root=gcc&view=rev Log: Switch conversion: support any ax + b transformation (PR tree-optimization/84436). 2018-10-24 Martin Liska <mli...@suse.cz> PR tree-optimization/84436 * tree-switch-conversion.c (switch_conversion::contains_same_values_p): Remove. (switch_conversion::contains_linear_function_p): New. (switch_conversion::build_one_array): Support linear transformation on input. * tree-switch-conversion.h (struct switch_conversion): Add contains_linear_function_p declaration. 2018-10-24 Martin Liska <mli...@suse.cz> PR tree-optimization/84436 * gcc.dg/tree-ssa/pr84436-1.c: New test. * gcc.dg/tree-ssa/pr84436-2.c: New test. * gcc.dg/tree-ssa/pr84436-3.c: New test. * gcc.dg/tree-ssa/pr84436-4.c: New test. * gcc.dg/tree-ssa/pr84436-5.c: New test. Added: trunk/gcc/testsuite/gcc.dg/tree-ssa/pr84436-1.c trunk/gcc/testsuite/gcc.dg/tree-ssa/pr84436-2.c trunk/gcc/testsuite/gcc.dg/tree-ssa/pr84436-3.c trunk/gcc/testsuite/gcc.dg/tree-ssa/pr84436-4.c trunk/gcc/testsuite/gcc.dg/tree-ssa/pr84436-5.c Modified: trunk/gcc/ChangeLog trunk/gcc/testsuite/ChangeLog trunk/gcc/tree-switch-conversion.c trunk/gcc/tree-switch-conversion.h