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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|---                         |FIXED

--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
Author: rguenth
Date: Tue May 24 12:40:01 2016
New Revision: 236636

URL: https://gcc.gnu.org/viewcvs?rev=236636&root=gcc&view=rev
Log:
2016-05-24  Richard Biener  <rguent...@suse.de>

        PR tree-optimization/71253
        * cfganal.h (control_dependences): Make robust against edge
        and BB removal.
        (control_dependences::control_dependences): Remove edge_list argument.
        (control_dependences::get_edge): Remove.
        (control_dependences::get_edge_src): Add.
        (control_dependences::get_edge_dest): Likewise.
        (control_dependences::m_el): Make a vector of edge src/dest index.
        * cfganal.c (control_dependences::find_control_dependence): Adjust.
        (control_dependences::control_dependences): Likewise.
        (control_dependences::~control_dependence): Likewise.
        (control_dependences::get_edge): Remove.
        (control_dependences::get_edge_src): Add.
        (control_dependences::get_edge_dest): Likewise.
        * tree-ssa-dce.c (mark_control_dependent_edges_necessary): Use
        get_edge_src.
        (perform_tree_ssa_dce): Adjust.
        * tree-loop-distribution.c (create_edge_for_control_dependence): Use
        get_edge_src.
        (pass_loop_distribution::execute): Adjust.  Do loop destroying
        conditional on changed.

        * gcc.dg/torture/pr71253.c: New testcase.

Added:
    trunk/gcc/testsuite/gcc.dg/torture/pr71253.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/cfganal.c
    trunk/gcc/cfganal.h
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/tree-loop-distribution.c
    trunk/gcc/tree-ssa-dce.c

--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> ---
Fixed.

Reply via email to