timor
14d75bbbcb
math.intervals: Consistent handling of special intervals
...
Make both `empty-interval` and `full-interval` singletons, use generic functions
and methods where they are special-cased.
All words which work with interval points should also now work with the special
intervals.
2019-09-09 14:09:57 -07:00
Björn Lindqvist
eabf237863
compiler.tree.propagation.recursive: redoing
...
097b40ce41
(#1513 )
2016-11-06 19:08:35 +01:00
Björn Lindqvist
13cd2c4e75
compiler.tree.propagation.recursive: undoing 097b40ce41
( #1513 )
2016-10-31 11:27:05 +01:00
Björn Lindqvist
097b40ce41
compiler.tree.propagation.recursive: better counter-class
2015-11-22 00:37:33 +01:00
Björn Lindqvist
b9ce4910af
compiler.tree.*: docs
2015-09-22 08:52:36 +02:00
Björn Lindqvist
bb8b77419f
compiler.tree.propagation.nodes: the loop-nesting variable appears unused
2015-09-22 08:51:05 +02:00
John Benediktsson
c65877104e
compiler: cleanup usings.
2014-12-13 16:10:21 -08:00
Doug Coleman
fe677bac2f
compiler.tree.propagation.recursive: Generalizing intervals in the propagation pass ignored types. Fixes #770 .
2013-01-01 18:47:23 -08:00
Slava Pestov
bc9241d2b7
compiler.tree.propagation.recursive: more fine-grained generalize-counter-interval eliminates overflow checks from binary-search
2010-04-18 21:42:45 -05:00
Daniel Ehrenberg
8e227bc874
Propagation tracks length just like any other read-only slot
2010-03-09 15:58:44 -05:00
Slava Pestov
7e35723db0
compiler.tree.propagation: be more careful with intervals, ensuring that the inferred interval of a value is a subset of the value class's interval. This improves accuracy, for example [ >fixnum 1 + >fixnum most-positive-fixnum <= ] constant-folds to true
2009-08-10 01:16:49 -05:00
Slava Pestov
c3d60e5899
compiler.tree.recursive: more accurate loop detection
2009-08-04 19:18:40 -05:00
sheeple
a4e62dfdba
Fix for math.parser syntax change
2009-04-13 14:47:39 -05:00
Slava Pestov
4fdb5d0557
Fix infinite fixed point iteration bug found by littledan; generalize-counter-interval wasn't called in all the right places
2009-03-12 17:30:24 -05:00
Slava Pestov
fa6a2047f0
New inlining heuristic: number of usages within this word. Speeds up bootstrap by 10%
2008-12-04 07:05:59 -06:00
Slava Pestov
f04b32ea02
Remove duplicated logic
2008-11-11 09:10:33 -06:00
Slava Pestov
5f4b247072
Propagation pass now uses a stack of hashtables for predicated constraints instead of cloning a hashtable. New strategy for recursive propagation; now converges with fewer iterations. ~15 sec bootstrap time improvement
2008-11-11 08:49:00 -06:00
Slava Pestov
40da49bef5
Perform loop detection before normalization, clean up normalization pass, more aggressive recursive return value propagation. Fixes regression on nsieve benchmark
2008-09-12 05:17:27 -05:00
Slava Pestov
8c46a3d56f
Only annotate certain nodes ith value info
2008-08-24 14:02:33 -05:00
Slava Pestov
9aa6d8ae04
Compiler fixes
2008-08-22 15:30:57 -05:00
Slava Pestov
9b6fb70eba
Debugging optimizer
2008-08-18 15:47:49 -05:00
Slava Pestov
e1987d4af9
Debugging new optimizer
2008-08-14 23:35:19 -05:00
Slava Pestov
f2a5a30c6f
New front-end and high-level optimizer lands
2008-08-12 03:22:45 -05:00