Re: Value range tracing

bernecky@eecg.toronto.edu (Robert Bernecky)
9 Dec 1995 19:28:08 -0500

          From comp.compilers

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]
| List of all articles for this month |
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
--


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.