Improve constant folding:
authorGuillermo J. Rozas <edu/mit/csail/zurich/gjr>
Tue, 15 Nov 1988 16:37:29 +0000 (16:37 +0000)
committerGuillermo J. Rozas <edu/mit/csail/zurich/gjr>
Tue, 15 Nov 1988 16:37:29 +0000 (16:37 +0000)
commit0282f1c0f98eadeb0762d23fe177537649e04d91
tree19fe8503a8f14568c45119ee79af3ff554c42ae9
parentcf5256b0b6bd29491126562d008249ce4c269851
Improve constant folding:
- Mutable objects can now be known values of variables, although
operations will not be open coded over them.
- The outer analysis has been changed to have passed-out and passed-in
counters rather than flags.  In this way it is easy to recompute their
values value after an operation has been constant folded, and decide
whether further propagation can occur or not.
- Non-primitive operations can now be constant folded.  There is a new
declaration: USUAL-DEFINITION which allows the variables to which it
applies to be constant folded to their usual (global) definition.
Examples of this are ATAN, GCD, etc.
- Fix bug in base/utils.scm by which temporary label names were being
interned.  This would cause the compiler to run out of storage after
many compilations.
v7/src/compiler/base/lvalue.scm
v7/src/compiler/base/utils.scm
v7/src/compiler/fggen/declar.scm
v7/src/compiler/fgopt/folcon.scm
v7/src/compiler/fgopt/outer.scm
v7/src/compiler/machines/bobcat/make.scm-68040