This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
RE: dom requires PROP_loops
- From: Paulo Matos <pmatos at broadcom dot com>
- To: Richard Biener <richard dot guenther at gmail dot com>
- Cc: "gcc at gcc dot gnu dot org" <gcc at gcc dot gnu dot org>
- Date: Thu, 13 Mar 2014 12:58:11 +0000
- Subject: RE: dom requires PROP_loops
- Authentication-results: sourceware.org; auth=none
- References: <19EB96622A777C4AB91610E763265F4642D9F1 at SJEXCHMB14 dot corp dot ad dot broadcom dot com> <CAFiYyc0=pg8=017-gmiXeXFWvexrt7mhruuVrD5N-kJGP9ez4g at mail dot gmail dot com> <19EB96622A777C4AB91610E763265F4642F387 at SJEXCHMB14 dot corp dot ad dot broadcom dot com>
> -----Original Message-----
> From: gcc-owner@gcc.gnu.org [mailto:gcc-owner@gcc.gnu.org] On Behalf Of Paulo
> Matos
> Sent: 13 March 2014 11:21
> To: Richard Biener
> Cc: gcc@gcc.gnu.org
> Subject: RE: dom requires PROP_loops
>
>
> PROP_loops is enabled from tree loopinit to rtl loop_done2 and with this property
> enabled cfg_cleanup doesn't remove empty latches allowing GCC to move
> instructions into the latch in the meantime.
>
Let me clarify this statement. With PROP_loops enabled, loop_optimizer_finalize doesn't free loops and current_loops is non-null. This has an array of consequences, one of them being that loop latches are not removed. So, which PROP_loops is the reason for the non-removal of empty loop latches, removal actually depends on the value of current_loops.
--
Paulo Matos