1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-03 18:50:19 +02:00
guile/module/language
Andy Wingo b0081accb6 Specialize-numbers reifies instructions that type-check
* module/language/cps/specialize-numbers.scm (specialize-operations):
  Before, this pass would reify e.g. uadd for an addition of s64 values
  if it could prove that the result would be within the s64 range.  But
  this is really confusing if later we want to do range analysis over
  the result.  Additionally it would sometimes reify diamond control
  patterns that weren't really amenable to CSE.  So instead we now reify
  instructions that can pass type checks, like "sadd" instead of
  "uadd".
2017-11-20 18:36:00 +01: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 Specialize-numbers reifies instructions that type-check 2017-11-20 18:36:00 +01:00
ecmascript Fix tree-il code generation for ECMAscript `new' expression. 2016-10-25 23:39:30 +02:00
elisp Use make-struct/no-tail instead of make-struct 2017-09-20 22:07:18 +02:00
scheme Merge remote-tracking branch 'origin/stable-2.0' 2013-08-11 22:46:22 -04:00
tree-il Convert "ash" to "lsh"/"rsh" when lowering to CPS 2017-11-11 22:08:14 +01:00
value Add 'for-humans?' flag to <language> specifications. 2013-01-27 10:16:40 -05:00
bytecode.scm Add support for comparisons against integer immediates 2017-11-15 14:18:39 +01:00
cps.scm $primcall has a "param" member 2017-11-05 15:00:16 +01:00
tree-il.scm Use make-struct/no-tail instead of make-struct 2017-09-20 22:07:18 +02:00