r236636 - in /trunk/gcc: ChangeLog cfganal.c cf...
rguenth@gcc.gnu.org
rguenth@gcc.gnu.org
Tue May 24 12:40:00 GMT 2016
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 <rguenther@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
More information about the Gcc-cvs
mailing list