dce.c (fini_dce): Call df_analyze again just in case delete_unmarked_insns removed anything.
* dce.c (fini_dce): Call df_analyze again just in case delete_unmarked_insns removed anything. From-SVN: r201886
This commit is contained in:
parent
bf7a6c1cb1
commit
a046136a50
|
@ -1,3 +1,8 @@
|
||||||
|
2013-08-20 Alexey Makhalov <makhaloff@gmail.com>
|
||||||
|
|
||||||
|
* dce.c (fini_dce): Call df_analyze again just in case
|
||||||
|
delete_unmarked_insns removed anything.
|
||||||
|
|
||||||
2013-08-20 Teresa Johnson <tejohnson@google.com>
|
2013-08-20 Teresa Johnson <tejohnson@google.com>
|
||||||
|
|
||||||
PR rtl-optimizations/57451
|
PR rtl-optimizations/57451
|
||||||
|
|
11
gcc/dce.c
11
gcc/dce.c
|
@ -745,6 +745,17 @@ fini_dce (bool fast)
|
||||||
bitmap_obstack_release (&dce_blocks_bitmap_obstack);
|
bitmap_obstack_release (&dce_blocks_bitmap_obstack);
|
||||||
bitmap_obstack_release (&dce_tmp_bitmap_obstack);
|
bitmap_obstack_release (&dce_tmp_bitmap_obstack);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* If DCE removes the last reference to a hard register, we want
|
||||||
|
to recompute REGS_EVER_LIVE and the global life information.
|
||||||
|
|
||||||
|
Ideally we'd look at REGS_EVER_LIVE before and after and only
|
||||||
|
rerun DF analysis if something changed. */
|
||||||
|
if (!df_in_progress)
|
||||||
|
{
|
||||||
|
df_compute_regs_ever_live (true);
|
||||||
|
df_analyze ();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue