1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-20 03:30:27 +02:00
guile/module/language/cps
Andy Wingo 294dbaad35 Add support for comparisons against integer immediates
* libguile/vm-engine.c (s64-imm=?, u64-imm<?, imm-u64<?, s64-imm<?)
  (imm-s64<?): New instructions.
* libguile/instructions.c (FOR_EACH_INSTRUCTION_WORD_TYPE): Add new
  X8_S12_Z12 word type used by the new S64/immediate instructions.  A
  Z12 is a 12-bit signed integer immediate.
* module/system/vm/assembler.scm: Export new instructions, and add
  X8_S12_Z12 support.  Also, add missing shufflers for X8_S12_C12.
* module/language/bytecode.scm (compute-instruction-arity):
* module/system/vm/disassembler.scm (unpack-s12, disassembler): Add
  support for X8_S12_Z12.
* module/language/cps/types.scm (define-predicate-inferrer/param): New
  helper.
  (u64-=, u64-<, s64-<): Remove type checkers; this procedure does not
  cause &type-check.
  (u64-imm=?, s64-imm=?, u64-imm<?, imm-u64<?, s64-imm<?, imm-s64<?):
  New type inferrers.
* module/language/cps/type-fold.scm (define-unary-branch-folder*): New
  helper.
  (u64-imm=?, s64-imm=?, u64-imm<?, imm-u64<?, s64-imm<?, imm-s64<?):
  New branch folders.
* module/language/cps/reify-primitives.scm (reify-primitives): Reify
  constants for new immediate branching primcalls if values out of
  range.
* module/language/cps/effects-analysis.scm: Add support for new
  primcalls.
* module/language/cps/compile-bytecode.scm (compile-function): Add
  support for new primcalls and instructions.  Compile u64-imm-= to
  s64-imm=?.
2017-11-15 14:18:39 +01:00
..
closure-conversion.scm Closure conversion uses immediate variants of vector instructions 2017-11-11 22:08:14 +01:00
compile-bytecode.scm Add support for comparisons against integer immediates 2017-11-15 14:18:39 +01:00
constructors.scm Use immediate primcalls when unfolding constructors 2017-11-11 22:08:14 +01:00
contification.scm $primcall has a "param" member 2017-11-05 15:00:16 +01:00
cse.scm Better untagging of fixnums 2017-11-13 14:39:30 +01:00
dce.scm $primcall has a "param" member 2017-11-05 15:00:16 +01:00
effects-analysis.scm Add support for comparisons against integer immediates 2017-11-15 14:18:39 +01:00
elide-values.scm $primcall has a "param" member 2017-11-05 15:00:16 +01:00
handle-interrupts.scm $primcall has a "param" member 2017-11-05 15:00:16 +01:00
intmap.scm Move thread bindings to (ice-9 threads) 2016-10-23 22:29:44 +02:00
intset.scm Move thread bindings to (ice-9 threads) 2016-10-23 22:29:44 +02:00
licm.scm $primcall has a "param" member 2017-11-05 15:00:16 +01:00
optimize.scm Tweak optimization order 2017-11-05 15:00:16 +01:00
peel-loops.scm $primcall has a "param" member 2017-11-05 15:00:16 +01:00
primitives.scm Add support for comparisons against integer immediates 2017-11-15 14:18:39 +01:00
prune-bailouts.scm Add new "throw" VM ops 2017-11-05 15:00:16 +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 support for comparisons against integer immediates 2017-11-15 14:18:39 +01:00
renumber.scm $primcall has a "param" member 2017-11-05 15:00:16 +01:00
rotate-loops.scm $primcall has a "param" member 2017-11-05 15:00:16 +01:00
self-references.scm $primcall has a "param" member 2017-11-05 15:00:16 +01:00
simplify.scm $primcall has a "param" member 2017-11-05 15:00:16 +01:00
slot-allocation.scm Slot allocation allows s64/u64 representations of same var 2017-11-13 10:34:29 +01:00
spec.scm Fix guild compile --to=cps / --from=cps 2017-02-23 11:37:44 +01:00
specialize-numbers.scm Add support for comparisons against integer immediates 2017-11-15 14:18:39 +01:00
specialize-primcalls.scm Better untagging of fixnums 2017-11-13 14:39:30 +01:00
split-rec.scm $primcall has a "param" member 2017-11-05 15:00:16 +01:00
type-checks.scm $primcall has a "param" member 2017-11-05 15:00:16 +01:00
type-fold.scm Add support for comparisons against integer immediates 2017-11-15 14:18:39 +01:00
types.scm Add support for comparisons against integer immediates 2017-11-15 14:18:39 +01:00
utils.scm load-f64, etc take immediate parameters 2017-11-05 15:00:16 +01:00
verify.scm $primcall has a "param" member 2017-11-05 15:00:16 +01:00
with-cps.scm Add missing files 2015-07-22 18:27:37 +02:00