re PR tree-optimization/58464 (Crashes with SIGSEGV (infinite recursion in phi_transl...
authorRichard Biener <rguenther@suse.de>
Mon, 23 Sep 2013 12:37:17 +0000 (12:37 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Mon, 23 Sep 2013 12:37:17 +0000 (12:37 +0000)
commit984af6ac7579a3bc589401cf6d8651e98d0e9eb7
treee2de6d398c204c91c81cb25db0379e97dbb4ae96
parent0e26cf7972346f2d75ad9eb8fb3984f104ac2079
re PR tree-optimization/58464 (Crashes with SIGSEGV (infinite recursion in phi_translate))

2013-09-23  Richard Biener  <rguenther@suse.de>

PR tree-optimization/58464
* tree-ssa-pre.c (phi_trans_lookup): Remove.
(phi_trans_add): Change to add conditionally on being not
present.
(phi_translate_1): Remove recursion detection here.
(phi_translate): Pre-seed the cache with NULL to catch
recursion here in a more generic way.
(bitmap_find_leader): Adjust comment.
(get_representative_for): Dump value-numbers.
(create_expression_by_pieces): Likewise.
(insert_into_preds_of_block): Likewise.

* g++.dg/torture/pr58464.C: New testcase.

From-SVN: r202826
gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/torture/pr58464.C [new file with mode: 0644]
gcc/tree-ssa-pre.c