mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-12 23:00:22 +02:00
* module/language/cps/effects-analysis.scm: Rewrite so that instead of the depends/causes effects, there is just &type-check, &allocation, &read, and &write. The object kind is a separate part of the bitfield, and the field in the object (if appropriate) is another field. Effects are still a fixnum. This enables precise effects for vectors and structs on all architectures. This kind of effects analysis was not possible in Tree-IL because Tree-IL relied on logior-ing effects of subexpressions, whereas with CPS we have no sub-expressions and we do flow analysis instead. (effect-clobbers?): Replace effects-commute? with this inherently directional and precise predicate. * module/language/cps/cse.scm (compute-always-available-expressions): (compute-equivalent-subexpressions): Adapt to effects analysis change. * module/language/cps/dce.scm (compute-live-code): Likewise. |
||
---|---|---|
.. | ||
ice-9 | ||
language | ||
oop | ||
rnrs | ||
scripts | ||
srfi | ||
sxml | ||
system | ||
texinfo | ||
web | ||
Makefile.am | ||
rnrs.scm | ||
statprof.scm | ||
texinfo.scm |