[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Guile-commits] branch master updated (0951551 -> 7d71d9b)
From: |
Andy Wingo |
Subject: |
[Guile-commits] branch master updated (0951551 -> 7d71d9b) |
Date: |
Fri, 24 Nov 2017 09:24:18 -0500 (EST) |
wingo pushed a change to branch master
in repository guile.
from 0951551 Compiler specializes comparisons to immediate integers
new 8ce6f35 ursh, ursh/immediate, etc only residualized if count < 64
new 83c0400 Revert specialization of fixnum phi variables
new 5fbd4b8 Better support for unboxed signed arithmetic
new b0081ac Specialize-numbers reifies instructions that type-check
new a48735f Fix s64->scm reducer
new 0721886 Separate u64 and s64 type inferrers now that ops are
monomorphic
new c22e61a Fix u64/s64 typesafety around fixnum (un)tagging
new 5c38643 Revert "Slot allocation allows s64/u64 representations of
same var"
new 908d5ea Fix logand type inference
new aa22f1f Fix unboxed immediate range comparison type inference
new 73a636e Specialize fixnum and s64 phis
new 2f2e31e Remove effects-analysis exports that were undefined
new 700ec79 Minor compile-cps refactor
new b2dc53a Fix type check elision for branches
new a3173d1 DCE eliminates effect-free branches to the same
continuation
new bd2c690 intmap-remove returns empty-intmap if appropriate
new 6866cbd Add support for bignum? CPS primitive.
new 72c3107 Remove thunk?, integer? simple predicate inferrers
new 980de88 Add exact-integer? as interesting Tree-IL effect-free
primitive
new 6a11fb1 Add &exact-number helper definition
new 6f3ae92 Improve type and range inference on bignums
new e79de9d Fix inference of generic < on NaN values
new 3169100 Minor refactoring to type inference on < and =
new cdd51d0 Declare bignum? as effect-free
new 695362a Better type folding for = on exact numbers
new 3ae2a88 Better unboxing for logand over s64 values
new 5c93980 Add integer devirtualization pass.
new 3600dbf Refactor to finish the primcalls-take-parameters work
new 8d30643 DCE of branches punches through dead terms
new 7d71d9b Optimize check-urange in assembler.scm
The 30 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "adds" were already present in the repository and have only
been added to this reference.
Summary of changes:
am/bootstrap.am | 1 +
module/Makefile.am | 1 +
module/language/cps/compile-bytecode.scm | 6 +-
module/language/cps/dce.scm | 19 +-
module/language/cps/devirtualize-integers.scm | 259 +++++++++
module/language/cps/effects-analysis.scm | 62 +--
module/language/cps/intmap.scm | 6 +-
module/language/cps/optimize.scm | 3 +
module/language/cps/primitives.scm | 16 +-
module/language/cps/reify-primitives.scm | 93 +++-
module/language/cps/slot-allocation.scm | 48 +-
module/language/cps/specialize-numbers.scm | 761 ++++++++++++--------------
module/language/cps/specialize-primcalls.scm | 59 +-
module/language/cps/type-checks.scm | 2 +-
module/language/cps/type-fold.scm | 35 +-
module/language/cps/types.scm | 312 +++++++----
module/language/cps/utils.scm | 57 --
module/language/tree-il/compile-cps.scm | 140 +++--
module/language/tree-il/primitives.scm | 3 +
module/system/vm/assembler.scm | 7 +-
20 files changed, 1151 insertions(+), 739 deletions(-)
create mode 100644 module/language/cps/devirtualize-integers.scm
- [Guile-commits] branch master updated (0951551 -> 7d71d9b),
Andy Wingo <=
- [Guile-commits] 01/30: ursh, ursh/immediate, etc only residualized if count < 64, Andy Wingo, 2017/11/24
- [Guile-commits] 05/30: Fix s64->scm reducer, Andy Wingo, 2017/11/24
- [Guile-commits] 02/30: Revert specialization of fixnum phi variables, Andy Wingo, 2017/11/24
- [Guile-commits] 09/30: Fix logand type inference, Andy Wingo, 2017/11/24
- [Guile-commits] 08/30: Revert "Slot allocation allows s64/u64 representations of same var", Andy Wingo, 2017/11/24
- [Guile-commits] 07/30: Fix u64/s64 typesafety around fixnum (un)tagging, Andy Wingo, 2017/11/24
- [Guile-commits] 14/30: Fix type check elision for branches, Andy Wingo, 2017/11/24
- [Guile-commits] 06/30: Separate u64 and s64 type inferrers now that ops are monomorphic, Andy Wingo, 2017/11/24
- [Guile-commits] 18/30: Remove thunk?, integer? simple predicate inferrers, Andy Wingo, 2017/11/24
- [Guile-commits] 17/30: Add support for bignum? CPS primitive., Andy Wingo, 2017/11/24