This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Fix PR61221


On 05/19/14 06:54, Richard Biener wrote:

In this PR we run into the issue that releasing SSA names from
FRE/PRE elimination corrupts the VN lattice and thus the VN lookup
we perform for removing redudnant stores ICEs.  The patch works
around the particular case by making unreachable code detection
in SCCVN more optimistic by ignoring backedges during reachability
computation and by not doing any elimination on unreachable blocks.

I still have to think about a "proper" fix to the underlying issue
(propagate_value_into_stmt updating stmts on our back).

Bootstrap and regtest running on x86_64-unknown-linux-gnu.

Richard.

2014-05-19  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/61221
	* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
	Do nothing for unreachable blocks.
	* tree-ssa-sccvn.c (cond_dom_walker::before_dom_children):
	Improve unreachability detection.

	* gcc.dg/torture/pr61221.c: New testcase.
Is this another case where having two lists rather than just one in the SSA_NAME manager would help? It's something I really need to sit down and just do.

Jeff


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]