http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56486
--- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> 2013-04-03 10:02:11 UTC --- Hmm, remove_visited_stmt_chain looks like premature optimization to me anyway ... if, then re-organizing it to work on the BB of the definition of var only and walking backwards might indeed be the way to "fix" it (apart from eventually just removing it or only considering a single stmt). reassoc1 is immediately followed by dce, reassoc2 is followed by passes that may be confused by dead stmts (vrp and dom jump-threading).