[Bug tree-optimization/61289] [4.9/4.10 Regression] Bad jump threading generates infinite loop
law at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Jun 5 18:25:00 GMT 2014
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61289
--- Comment #3 from Jeffrey A. Law <law at gcc dot gnu.org> ---
Author: law
Date: Thu Jun 5 18:25:02 2014
New Revision: 211287
URL: http://gcc.gnu.org/viewcvs?rev=211287&root=gcc&view=rev
Log:
PR tree-optimization/61289
* tree-ssa-threadedge.c (invalidate_equivalences): Remove SRC_MAP and
DST_MAP parameters. Invalidate by walking all the SSA_NAME_VALUES
looking for those which match LHS. All callers changed.
(record_temporary_equivalences_from_phis): Remove SRC_MAP and DST_MAP
parameters and code which manipulated them. All callers changed.
(record_temporary_equivalences_from_stmts_at_dest): Remove SRC_MAP
and DST_MAP parameters. Simplify invalidation code by just calling
invalidate_equivalences. All callers changed.
(thread_across_edge): Simplify now that we don't need to maintain
the map of equivalences to invalidate.
PR tree-optimization/61289
* g++.dg/pr61289.C: New test.
* g++.dg/pr61289-2.C: New test.
Added:
trunk/gcc/testsuite/g++.dg/pr61289-2.c
trunk/gcc/testsuite/g++.dg/pr61289.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-ssa-threadedge.c
More information about the Gcc-bugs
mailing list