This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Moving some VRP bits from DOM into tree-vrp
- From: Diego Novillo <dnovillo at redhat dot com>
- To: Jeffrey A Law <law at redhat dot com>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Mon, 13 Jun 2005 19:47:32 -0400
- Subject: Re: Moving some VRP bits from DOM into tree-vrp
- References: <1118705050.15272.8.camel@localhost.localdomain>
On Mon, Jun 13, 2005 at 05:24:10PM -0600, Jeffrey A Law wrote:
> For better or worse, I've found that DOM is still finding a lot of
> stuff that is being missed by other passes. So this process isn't
> simply "remove large hunk of DOM code, but instead is going to involve
> improving the other passes so that they're catching most (if not all)
> of the things DOM does.
>
Yes, I did some experiments a few days ago. I switched off all
the transformations done by DOM using the VRP records. It
resulted in almost negligible losses in the amount of jumps
threaded:
cc1-i-files: -0.21%
DLV: -0.09%
MICO: -0.05%
SPEC2000: -0.96%
TRAMP3D: -0.05%
Most of the opportunities came from dummy statements created by
DOM.
> *************** vrp_finalize (void)
> *** 3445,3450 ****
> --- 3578,3589 ----
>
> substitute_and_fold (single_val_range, true);
>
> + /* One could argue all simplifications should be done here
> + rather than using substitute_and_fold since this code
> + is going to have to perform a complete walk through the
> + IL anyway. */
> + simplify_using_ranges ();
> +
>
Why not do this in substitute_and_fold? It knows about the
ranges and does a full IL scan already.
Diego.