| Related articles |
|---|
| Looking for the name of an optimization ccox@comcast.net (Chris Cox) (2008-03-31) |
| Re: Looking for the name of an optimization dnovillo@acm.org (Diego Novillo) (2008-03-31) |
| Re: Looking for the name of an optimization cfc@shell01.TheWorld.com (Chris F Clark) (2008-04-02) |
| Re: Looking for the name of an optimization andreybokhanko@gmail.com (2008-04-13) |
| From: | "Diego Novillo" <dnovillo@acm.org> |
| Newsgroups: | comp.compilers |
| Date: | Mon, 31 Mar 2008 21:16:37 -0400 |
| Organization: | Compilers Central |
| References: | 08-03-123 |
| Keywords: | optimize |
| Posted-Date: | 31 Mar 2008 22:20:27 EDT |
On Mon, Mar 31, 2008 at 8:36 PM, Chris Cox <ccox@comcast.net> wrote:
> if (x == 1 && y == 2)
> z = 300 / (x + y)
> ==>
> if (x == 1 && y == 2)
> z = 100
In GCC we call it VRP, value range propagation.
It falls out of the singularity that happens when you have ranges
where min == max: In this case, inside the then clause of that if(),
the range for x is [1, 1], the range for y is [2, 2]. After
propagation, GCC substitutes x with 1, y with 2 and the folders do the
rest.
Diego.
Return to the
comp.compilers page.
Search the
comp.compilers archives again.