https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91351

--- Comment #13 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Author: jakub
Date: Thu Aug 29 09:20:54 2019
New Revision: 275026

URL: https://gcc.gnu.org/viewcvs?rev=275026&root=gcc&view=rev
Log:
        PR tree-optimization/91351
        * tree-cfg.c (generate_range_test): Use range_check_type instead of
        unsigned_type_for.
        * tree-cfgcleanup.c (convert_single_case_switch): Punt if
        range_check_type returns NULL.
        * tree-switch-conversion.c (switch_conversion::build_one_array):
        Use range_check_type instead of unsigned_type_for, don't perform
        linear opt if it returns NULL.
        (bit_test_cluster::find_bit_tests): Formatting fix.
        (bit_test_cluster::emit): Use range_check_type instead of
        unsigned_type_for.
        (switch_decision_tree::try_switch_expansion): Punt if range_check_type
        returns NULL.

        * g++.dg/opt/pr91351.C: New test.

Added:
    trunk/gcc/testsuite/g++.dg/opt/pr91351.C
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/tree-cfg.c
    trunk/gcc/tree-cfgcleanup.c
    trunk/gcc/tree-switch-conversion.c

Reply via email to