https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61289
--- Comment #7 from Jeffrey A. Law <law at gcc dot gnu.org> --- Author: law Date: Thu Jun 12 18:38:20 2014 New Revision: 211588 URL: http://gcc.gnu.org/viewcvs?rev=211588&root=gcc&view=rev Log: Backports from mainline: 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: branches/gcc-4_9-branch/gcc/testsuite/g++.dg/pr61289-2.c branches/gcc-4_9-branch/gcc/testsuite/g++.dg/pr61289.C Modified: branches/gcc-4_9-branch/gcc/ChangeLog branches/gcc-4_9-branch/gcc/testsuite/ChangeLog branches/gcc-4_9-branch/gcc/tree-ssa-threadedge.c