mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-20 11:40:18 +02:00
* module/language/cps/cse.scm (intset-intersect*): New helper. Use it to replace manual uses. (lset-unionq, meet-constants, adjoin-constant, set-constants): New helpers. (compute-consts): New function, to compute constants at each label, using not only definitions but flow. (<analysis>): Add consts to analysis. (elide-predecessor, prune-branch, forward-branch, compute-out-edges) (propagate-analysis, eliminate-common-subexpressions-in-fun): Plumb consts through the algorithm. (fold-branch): Fold an eq-constant? using the flow-determined constant info. Finally allows compile-bytecode to fold to switch statements! * module/language/cps/optimize.scm (optimize-first-order-cps): Move branch chain optimization before the final CSE/DCE pass. |
||
---|---|---|
.. | ||
ice-9 | ||
language | ||
oop | ||
rnrs | ||
scheme | ||
scripts | ||
srfi | ||
sxml | ||
system | ||
texinfo | ||
web | ||
Makefile.am | ||
rnrs.scm | ||
statprof.scm | ||
texinfo.scm |