1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-21 04:00:19 +02:00
guile/module/system/base
Andy Wingo 03998db647 Add new pass to optimize branch chains to table dispatch
* module/language/cps/switch.scm: New pass.

* module/Makefile.am (SOURCES):
* am/bootstrap.am (SOURCES): Add switch.scm.

* module/system/base/optimize.scm (available-optimizations):
* module/language/cps/optimize.scm (optimize-first-order-cps): Run
  switch optimization at level 2.

* libguile/hash.c (JENKINS_LOOKUP3_HASHWORD2): Add note regarding
  cross-compilation.

* module/language/cps/graphs.scm (intmap-select): New definition.
* module/language/cps/utils.scm (compute-singly-referenced-labels): Move
  here, from various places.  Doesn't take a body intset argument.

* module/language/cps/contification.scm:
* module/language/cps/closure-conversion.scm:
* module/language/cps/simplify.scm: Use compute-singly-referenced-labels
  from utils.

* module/language/cps/effects-analysis.scm (annotation->memory-kind*):
  (annotation->memory-kind): Add symbol annotation cases.
2020-08-12 23:30:08 +02:00
..
types CPS compiler reduces eq? on constant to eq-constant? 2020-08-03 22:19:18 +02:00
ck.scm Improve error for set-fields paths leading to different types. 2012-11-10 01:37:20 -05:00
compile.scm Delay loading CPS unless CPS compiler used 2020-05-12 09:54:19 +02:00
lalr.scm add source-location->source-properties to lalr 2010-11-18 12:31:28 +01:00
lalr.upstream.scm Update (system base lalr) from upstream. 2014-12-02 21:25:56 +01:00
language.scm Add compiler chooser implementation; fix bugs with previous commit 2020-05-08 22:56:37 +02:00
message.scm Add language-specific analysis pass to compiler infrastructure 2020-05-08 15:39:41 +02:00
optimize.scm Add new pass to optimize branch chains to table dispatch 2020-08-12 23:30:08 +02:00
pmatch.scm pmatch: always wrap with let, even if the expression appears atomic 2012-03-01 16:16:27 -05:00
syntax.scm make-record-type does more validation on the fields 2019-10-23 14:42:29 +02:00
target.scm elisp: Fix cross-compilation support. 2018-08-07 12:07:18 +02:00
types.scm types: Recognize 'scm_t_port_type' and decode port type name. 2018-08-07 12:13:45 +02:00