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