Related articles |
---|
Value range tracing jeremy@suede.sw.oz.au (1995-12-01) |
Re: value range tracing whalley@sed.cs.fsu.edu (David Whalley) (1995-12-09) |
Re: Value range tracing hbaker@netcom.com (1995-12-09) |
Re: Value range tracing preston@tera.com (1995-12-09) |
Re: Value range tracing schinz@guano.alphanet.ch (1995-12-09) |
Value range tracing dave@occl-cam.demon.co.uk (Dave Lloyd) (1995-12-09) |
Re: Value range tracing bernecky@eecg.toronto.edu (1995-12-09) |
Re: Value range tracing creusil@cri.ensmp.fr (1995-12-09) |
Value range tracing deaeni@auto-trol.com (1995-12-09) |
Re: Value range tracing gough@dstc.qut.edu.au (John Gough) (1995-12-09) |
Re: Value range tracing jason@reflections.com.au (Jason Patterson) (1995-12-09) |
Re: Value range tracing bill@amber.ssd.hcsc.com (1995-12-09) |
Re: Value range tracing vadik@cs.umd.edu (1995-12-17) |
[1 later articles] |
From: | bernecky@eecg.toronto.edu (Robert Bernecky) |
Newsgroups: | comp.compilers |
Date: | 9 Dec 1995 19:28:08 -0500 |
Organization: | University of Toronto, Computer Engineering |
References: | 95-12-014 |
Keywords: | analysis, optimize |
jeremy@suede.sw.oz.au (Jeremy Fitzhardinge) writes:
>I'm wondering if people bother with value range tracing. That is,
>keeping track of the possible range of variables at each point in the
>program.
...
>Is this kind of thing useful? Is it useful enough to implement?
...
>propagation. Rather than saying "this particular value is here", you
>can say "this range is possible". On the other hand, ranges are
APEX, my APL compiler, has the ability to keep track of information such as
This array has upper/lower bounds of u,l.
This array is a permutation vector. [That is, 3 1 2 4 is a permutation
of 1 2 3 4].
This array is sorted up/down.
And so on.
Advantages are in code generation. For example, bounds info may
indicate that you can use a table for doing set membership in linear
time. Sorted info lets you search it quickly [and also do
sort REALLY fast 8^}]. Knowing it's a permutation vector gives you
the ability to use a bucket sort on the data, or to do vector
indexed assignment in parallel.
Lots of possibilities once you start to carry arrays around at
the IL level.
Bob
--
Return to the
comp.compilers page.
Search the
comp.compilers archives again.