diff options
Diffstat (limited to 'gcc/tree-ssa-pre.c')
-rw-r--r-- | gcc/tree-ssa-pre.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/tree-ssa-pre.c b/gcc/tree-ssa-pre.c index c0e3b80..2d1eb70 100644 --- a/gcc/tree-ssa-pre.c +++ b/gcc/tree-ssa-pre.c @@ -4804,6 +4804,9 @@ pass_pre::execute (function *fun) todo |= fini_eliminate (); loop_optimizer_finalize (); + /* Restore SSA info before tail-merging as that resets it as well. */ + scc_vn_restore_ssa_info (); + /* TODO: tail_merge_optimize may merge all predecessors of a block, in which case we can merge the block with the remaining predecessor of the block. It should either: @@ -4877,6 +4880,7 @@ pass_fre::execute (function *fun) todo |= fini_eliminate (); + scc_vn_restore_ssa_info (); free_scc_vn (); statistics_counter_event (fun, "Insertions", pre_stats.insertions); |