1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-18 10:10:23 +02:00
guile/module/language/cps
Andy Wingo e60469c8b6 Add primitive alias analysis to CSE
* module/language/cps/effects-analysis.scm (compute-known-allocations):
(compute-clobber-map): Add "conts" parameter, and use it to compute
primcalls that access known allocations.  A write to a known allocation
only clobbers a read to a known allocation if they are the same.
* module/language/cps/cse.scm (eliminate-common-subexpressions-in-fun):
Pass conts also to compute-clobber-map.
2021-10-03 21:39:46 +02:00
..
closure-conversion.scm Fix closure-conversion bug for SCC with all free vars pruned 2021-04-27 14:51:38 +02:00
compile-bytecode.scm Simplify module variable lookup slow-path 2021-04-26 09:48:52 +02:00
contification.scm Allow contification for $callk 2021-04-26 16:05:21 +02:00
cse.scm Add primitive alias analysis to CSE 2021-10-03 21:39:46 +02:00
dce.scm Fix bugs introduced when allowing $kfun -> $kargs 2021-04-25 13:33:06 +02:00
devirtualize-integers.scm Add $switch CPS term kind 2020-08-12 23:30:08 +02:00
dump.scm Add CPS pretty-printer 2021-10-01 11:33:10 +02:00
effects-analysis.scm Add primitive alias analysis to CSE 2021-10-03 21:39:46 +02:00
elide-arity-checks.scm New pass: elide-arity-checks 2021-04-21 22:41:12 +02:00
graphs.scm Move live variable computation routines to utils and graphs. 2021-10-01 11:28:22 +02:00
intmap.scm Fix intmap-intersect edge case 2019-06-11 12:56:23 +02:00
intset.scm Replace bit-position with bitvector-position 2020-04-12 22:39:55 +02:00
licm.scm Add $switch CPS term kind 2020-08-12 23:30:08 +02:00
loop-instrumentation.scm Add $switch CPS term kind 2020-08-12 23:30:08 +02:00
optimize.scm New pass: elide-arity-checks 2021-04-21 22:41:12 +02:00
peel-loops.scm Add $switch CPS term kind 2020-08-12 23:30:08 +02:00
prune-top-level-scopes.scm cache-current-module, etc use immediate primcall parameters 2017-11-05 15:00:16 +01:00
reify-primitives.scm Simplify module variable lookup slow-path 2021-04-26 09:48:52 +02:00
renumber.scm Add $switch CPS term kind 2020-08-12 23:30:08 +02:00
rotate-loops.scm Add $switch CPS term kind 2020-08-12 23:30:08 +02:00
self-references.scm Fix CPS optimizations to allow callk in front half 2021-04-26 16:05:13 +02:00
simplify.scm Fix bugs introduced when allowing $kfun -> $kargs 2021-04-25 13:33:06 +02:00
slot-allocation.scm Move live variable computation routines to utils and graphs. 2021-10-01 11:28:22 +02:00
spec.scm Define new "lowering" phase in compiler 2020-05-08 17:07:56 +02:00
specialize-numbers.scm Add $switch CPS term kind 2020-08-12 23:30:08 +02:00
specialize-primcalls.scm Compiler allocates boxed flonums in unmarked space 2019-08-26 10:19:24 +02:00
split-rec.scm Fix CPS optimizations to allow callk in front half 2021-04-26 16:05:13 +02:00
switch.scm Add new pass to optimize branch chains to table dispatch 2020-08-12 23:30:08 +02:00
type-checks.scm $branch is now a distinct CPS term type 2018-01-03 16:16:39 +01:00
type-fold.scm Add $switch CPS term kind 2020-08-12 23:30:08 +02:00
types.scm Allow primcalls with multiple defs 2021-10-01 11:33:13 +02:00
utils.scm Allow unchecked functions to have unboxed arguments 2021-10-01 11:28:22 +02:00
verify.scm Add $switch CPS term kind 2020-08-12 23:30:08 +02:00
with-cps.scm Add missing files 2015-07-22 18:27:37 +02:00