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

--- Comment #10 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Author: jakub
Date: Wed Feb 27 08:41:01 2019
New Revision: 269243

URL: https://gcc.gnu.org/viewcvs?rev=269243&root=gcc&view=rev
Log:
        PR tree-optimization/89280
        * tree-cfgcleanup.c (maybe_dead_abnormal_edge_p,
        builtin_setjmp_setup_bb): New functions.
        (cleanup_control_flow_pre): Ignore maybe_dead_abnormal_edge_p edges.
        When visiting __builtin_setjmp_setup block, queue in special
        setjmp_vec vector edges from .ABNORMAL_DISPATCHER to corresponding
        __builtin_setjmp_receiver.  Remove .ABNORMAL_DISPATCHER basic blocks
        from visited after the loop if they don't have any visited successor
        blocks.

        * gcc.c-torture/compile/pr89280.c: New test.
        * gcc.dg/torture/pr57147-2.c: Don't expect a setjmp after noreturn
        function.  Skip the test for -O0.

Added:
    trunk/gcc/testsuite/gcc.c-torture/compile/pr89280.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/gcc.dg/torture/pr57147-2.c
    trunk/gcc/tree-cfgcleanup.c

Reply via email to