1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-23 04:50:28 +02:00
guile/module/language
Andy Wingo 6119a90595 CSE does scalar replacement of aggregates
* module/language/cps/effects-analysis.scm (effects-clobber): New
  helper.
  (length): Only depend on &cdr.
  (synthesize-definition-effects!): New interface.

* module/language/cps/cse.scm (compute-available-expressions): Don't
  count out constructors here -- we'll do that below.
  (compute-defs): Add a comment.
  (compute-equivalent-subexpressions): Synthesize getter calls at
  constructor/setter sites, so that (set-car! x y) can cause a
  future (car x) to just reference y.  The equiv-labels set now stores
  the defined vars, so there is no need for the defs vector.
  (cse, apply-cse): Adapt to compute-equivalent-subexpressions change.
2014-05-02 17:47:20 +02:00
..
brainfuck Fix brainfuck comment 2013-12-02 19:03:50 +01:00
bytecode Rename "RTL" to "bytecode" 2013-12-02 21:31:47 +01:00
cps CSE does scalar replacement of aggregates 2014-05-02 17:47:20 +02:00
ecmascript Adapt ecmascript compiler to tree-il prompt changes, again. 2013-08-11 17:18:09 -04:00
elisp Fix order of evaluation in elisp lexer 2013-11-01 18:23:51 +01:00
scheme Merge remote-tracking branch 'origin/stable-2.0' 2013-08-11 22:46:22 -04:00
tree-il Root higher-order CPS term is always $kfun $cont 2014-04-11 14:01:27 +02:00
value Add 'for-humans?' flag to <language> specifications. 2013-01-27 10:16:40 -05:00
bytecode.scm Rename "RTL" to "bytecode" 2013-12-02 21:31:47 +01:00
cps.scm Optimize make-global-cont-folder 2014-04-14 13:53:35 +02:00
tree-il.scm Less copying in tree-il pre-order / post-order. 2014-03-31 18:20:55 +02:00