1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-28 07:50:20 +02:00
Commit graph

11 commits

Author SHA1 Message Date
Andy Wingo
ff1a02bd09 Port self-references pass to CPS2
* module/language/cps2/self-references.scm: New pass, ported from CPS.
* module/language/cps2/optimize.scm: Wire up the self references pass.
* module/Makefile.am: Add new file.
2015-06-05 00:52:27 +02:00
Andy Wingo
f541ee1968 Port type-fold to CPS2
* module/language/cps2/type-fold.scm: New file, ported from CPS.
* module/language/cps2/optimize.scm: Wire up type-fold.
* module/Makefile.am (CPS2_LANG_SOURCES): Add language/cps2/type-fold.cps.
2015-06-03 16:40:16 +02:00
Andy Wingo
c3bc1f8e93 Port CSE to CPS2
* module/language/cps2/cse.scm: New file, ported from CPS.
* module/language/cps2/optimize.scm: Wire up CSE.
* module/Makefile.am: Add language/cps2/cse.scm.

* module/language/cps/compile-bytecode.scm (optimize): Disable
  prune-top-level-scopes on old CPS.  It seems to not work if CSE has
  run beforehand.
2015-06-03 12:59:51 +02:00
Andy Wingo
ba44619672 Port prune-bailouts pass to CPS2
* module/language/cps2/prune-bailouts.scm: New file.
* module/language/cps2/optimize.scm: Wire up prune-bailouts pass.

* module/Makefile.am (CPS2_LANG_SOURCES): Add language/cps2/prune-bailouts.scm.
2015-06-02 12:47:47 +02:00
Andy Wingo
726558f054 Port elide-values pass to CPS2
* module/language/cps2/elide-values.scm: New file.
* module/language/cps2/optimize.scm (optimize): Wire up elide-values.
* module/Makefile.am: Add new file.
2015-06-02 12:19:14 +02:00
Andy Wingo
0e33ee94f0 Port specialize-primcalls pass to CPS2
* module/language/cps2/specialize-primcalls.scm: New file.
* module/language/cps2/optimize.scm: Wire up specialize-primcalls.
* module/Makefile.am: Add new file.
2015-06-02 11:53:36 +02:00
Andy Wingo
42f9bdabb5 Port inline-constructors pass to CPS2
* module/language/cps2/constructors.scm: New file.
* module/language/cps2/optimize.scm: Enable inline-constructors pass.
* module/Makefile.am: Add new file to build.
2015-06-02 11:30:21 +02:00
Andy Wingo
6e725df02f Port contification pass to CPS2.
* module/language/cps2/contification.scm: New pass, ported from CPS.  Faster!
* module/language/cps2/optimize.scm: Wire up contification pass.
* module/Makefile.am: Add language/cps2/contification.scm.
2015-06-02 10:26:59 +02:00
Andy Wingo
dd2e0f519d Port prune-top-level-scopes pass to CPS2
* module/language/cps2/prune-top-level-scopes.scm: Port to CPS2.

* module/language/cps2/optimize.scm: Enable prune-top-level-scopes
  pass.

* module/Makefile.am (CPS2_LANG_SOURCES): Add prune-top-level-scopes.scm.
2015-06-02 10:05:09 +02:00
Andy Wingo
48b2f190b2 Port dead code elimination (DCE) pass to CPS2
* module/language/cps2/dce.scm: New file.
* module/language/cps2/optimize.scm: Enable CPS2 DCE pass.
* module/Makefile.am: Add language/cps2/dce.scm.
2015-05-20 19:18:46 +02:00
Andy Wingo
ef5f2fcaaa Add optimization pass over CPS2
* module/language/cps2/optimize.scm: New file.
* module/language/cps2/simplify.scm: New file, factored out of
  simplify2.scm.

* module/language/cps/simplify2.scm: Remove, as it's obsolete.

* module/language/cps2/compile-cps.scm: Optimize the CPS.

* module/Makefile.am: Adapt for added and deleted files.
2015-05-12 21:53:42 +02:00