1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-19 19:20:23 +02:00
guile/module/language/cps
Andy Wingo 4829cb3ce9 Add assume-u64 and assume-s64 dataflow restrictions
* module/language/cps/effects-analysis.scm::
* module/language/cps/reify-primitives.scm (reify-primitives):
* module/language/cps/slot-allocation.scm (compute-var-representations):
* module/language/cps/types.scm (assume-u64, assume-s64): Add primitives
  that assume the range of a u64 or s64 value is within certain bounds.
  This is useful when extracting e.g. a length from a 64-bit word when
  you know the length is less than 2**48.
2018-01-16 16:42:56 +01:00
..
closure-conversion.scm Expand pair-related primcalls 2018-01-07 18:44:48 +01:00
compile-bytecode.scm Instruction explosion for bytevector setters 2018-01-16 10:05:03 +01:00
contification.scm Expand pair-related primcalls 2018-01-07 18:44:48 +01:00
cse.scm Rename gc-pointer-ref to pointer-ref 2018-01-14 13:40:05 +01:00
dce.scm Lower box, box-ref, box-set! primcalls 2018-01-10 07:59:21 +01:00
devirtualize-integers.scm Make integer devirtualization less eager 2018-01-07 13:04:20 +01:00
effects-analysis.scm Add assume-u64 and assume-s64 dataflow restrictions 2018-01-16 16:42:56 +01:00
handle-interrupts.scm $branch is now a distinct CPS term type 2018-01-03 16:16:39 +01:00
intmap.scm Add nullary intmap and intset folders 2017-11-29 19:57:11 +01:00
intset.scm Add nullary intmap and intset folders 2017-11-29 19:57:11 +01:00
licm.scm Prevent LICM of memory accesses guarded by effect-free predicates 2018-01-05 11:48:06 +01:00
optimize.scm Add (system base optimize) module 2018-01-05 10:19:54 +01:00
peel-loops.scm Minor optimization in loop peeling 2018-01-07 13:04:20 +01: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 Add assume-u64 and assume-s64 dataflow restrictions 2018-01-16 16:42:56 +01:00
renumber.scm $throw is a new kind of CPS term 2018-01-03 21:25:55 +01:00
rotate-loops.scm $throw is a new kind of CPS term 2018-01-03 21:25:55 +01:00
self-references.scm $throw is a new kind of CPS term 2018-01-03 21:25:55 +01:00
simplify.scm $throw is a new kind of CPS term 2018-01-03 21:25:55 +01:00
slot-allocation.scm Add assume-u64 and assume-s64 dataflow restrictions 2018-01-16 16:42:56 +01:00
spec.scm Fix guild compile --to=cps / --from=cps 2017-02-23 11:37:44 +01:00
specialize-numbers.scm $throw is a new kind of CPS term 2018-01-03 21:25:55 +01:00
specialize-primcalls.scm Rename gc-pointer-ref to pointer-ref 2018-01-14 13:40:05 +01:00
split-rec.scm $throw is a new kind of CPS term 2018-01-03 21:25:55 +01:00
type-checks.scm $branch is now a distinct CPS term type 2018-01-03 16:16:39 +01:00
type-fold.scm CPS type analysis support for mutable vs immutable vectors 2018-01-07 17:37:06 +01:00
types.scm Add assume-u64 and assume-s64 dataflow restrictions 2018-01-16 16:42:56 +01:00
utils.scm $throw is a new kind of CPS term 2018-01-03 21:25:55 +01:00
verify.scm Fix verify.scm for call-thunk/no-inline 2018-01-05 19:50:12 +01:00
with-cps.scm Add missing files 2015-07-22 18:27:37 +02:00