|Value range tracing email@example.com (1995-12-01)|
|Re: value range tracing firstname.lastname@example.org (David Whalley) (1995-12-09)|
|Re: Value range tracing email@example.com (1995-12-09)|
|Re: Value range tracing firstname.lastname@example.org (1995-12-09)|
|Re: Value range tracing email@example.com (1995-12-09)|
|Value range tracing firstname.lastname@example.org (Dave Lloyd) (1995-12-09)|
|Re: Value range tracing email@example.com (1995-12-09)|
|Re: Value range tracing firstname.lastname@example.org (1995-12-09)|
|Value range tracing email@example.com (1995-12-09)|
|Re: Value range tracing firstname.lastname@example.org (John Gough) (1995-12-09)|
|Re: Value range tracing email@example.com (Jason Patterson) (1995-12-09)|
|[3 later articles]|
|From:||firstname.lastname@example.org (Michel Schinz)|
|Date:||9 Dec 1995 19:24:50 -0500|
Jeremy Fitzhardinge wrote:
: 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
The first (?) version of the Self compiler, written by Craig Chambers,
did so (I don't know if the current Self compiler also does).
This information was used to eliminate array range checks, overflow
tests, and even "constant fold" integer comparaisons. For example, if
"i" is known to be in range 1-10, and "j" in range 20-30, the compiler
could replace an expression like "i < j" by the constant "true".
These techniques are described in Craig's excellent thesis:
Craig Chambers "The Design and Implementation of the SELF Compiler, an
Optimizing Compiler for Object-Oriented Programming Languages". PhD
Thesis, Stanford University, March 1992.
Return to the
Search the comp.compilers archives again.