Simple Value Range Propagation
Daniel Jacobowitz
drow@mvista.com
Sun Jun 8 20:48:00 GMT 2003
On Sun, Jun 08, 2003 at 10:20:33PM +0200, Josef Zlomek wrote:
> Hi,
>
> this patch contains a simple Value Range Propagation.
> It tracks const -> reg and reg -> reg stores,
> and also branches, for example:
>
> if (i > 0)
> foo; // i is in range [1,max_val] here
> else
> bar; // i is in range [min_val,0] here
>
> It also deletes (more accuratelly let cleaup_cfg delete)
> code unreachable because of conditions, for example:
>
> if (i < 0)
> {
> if (i > 5)
> delete_this;
> }
>
> It takes 2% of compile time and adds 0.5 % overall performance on SPECint2000.
>
> Bootstrapped/regtested x86-64.
> OK for mainline?
Is it really necessary to add new essentially high-level optimizers at
the RTL level? This pass would be quite straightforward on tree-ssa.
--
Daniel Jacobowitz
MontaVista Software Debian GNU/Linux Developer
More information about the Gcc-patches
mailing list