As far as I can tell, all of those optimizations are currently done by the Gambit compiler except for loop-invariant code motion and loop inversion. I’m not sure how much those optimizations are useful however.
Marc
On Nov 4, 2015, at 10:08 PM, lucier@math.purdue.edu wrote:
Guile’s 2.1.1 announcement includes the following paragraph:
======================================================================
** Better optimizations via compiler rewrite
Guile's compiler now uses a Continuation-Passing Style (CPS) intermediate language, allowing it to reason easily about temporary values and control flow. Examples of optimizations that this permits are optimal contification, optimal common subexpression elimination, dead code elimination, loop-invariant code motion, loop peeling, loop inversion, parallel moves with at most one temporary, allocation of stack slots using precise liveness information, and closure optimization. For more, see "Continuation-Passing Style" in the manual.
======================================================================
Are some of these missing from Gambit’s compiler? Could they be “easily” added (for some value of “easily”)?
Brad
(Sorry for the third try sending this to the mail list. El capitan (Mac OS X 10.11) mail is “different”.) _______________________________________________ Gambit-list mailing list Gambit-list@iro.umontreal.ca https://webmail.iro.umontreal.ca/mailman/listinfo/gambit-list