John Benediktsson
a92d67fcb2
fix more typos in docs.
2018-02-12 16:43:08 -08:00
Doug Coleman
e189954ecc
core: Rename iota to <iota> so we can have TUPLE: iota ... ; instead of TUPLE: iota-tuple ... ;
2017-06-02 11:57:05 -05:00
John Benediktsson
f4ccfa0f71
sets: moving unique/conjoin/conjoin-at to compiler.utilities.
2017-02-07 18:54:24 -08:00
Björn Lindqvist
349f99661d
compiler.*: Remove the scrubbing part of the GC maps
...
Instead of generating GC maps which describe which stack locations that
are uninitialized, we emit ##clear instructions for those locations in
front of ##call-gc instructions. This makes the context root scanning
much simpler because the GC can assume that all stack slots are
initialized. It also removes the compiler.cfg.stacks.vacant pass and
seem to reduce the image size slightly because many fewer GC maps needs
to be emitted.
2016-09-11 20:34:44 +02:00
Björn Lindqvist
92a85ebe86
compiler.*: more compiler docs
2016-04-22 12:57:54 +02:00
John Benediktsson
71ef8a22c2
disambiguate namespaces:set and sets:set.
2016-03-29 17:14:42 -07:00
Björn Lindqvist
aaef9af863
compiler.cfg.*: random doc updates
2015-09-22 08:51:46 +02:00
John Benediktsson
ceb75057da
change ERROR: words from throw-foo back to foo.
2015-08-13 16:13:05 -07:00
Doug Coleman
b6be8685c3
basis: ERROR: changes.
2015-08-13 03:20:39 -07:00
Doug Coleman
e0d1b14e5c
factor: don't need FROM: namespaces => set or namespaces:set anymore
2015-08-12 11:25:57 -05:00
John Benediktsson
4ded3c491c
fix some help-lint errors.
2015-07-28 20:06:59 -07:00
Björn Lindqvist
8a731681bf
compiler.cfg.*: tests against #1308
2015-07-28 17:58:29 -07:00
Björn Lindqvist
a8c0a25d87
compiler.cfg.ssa.destruction.coalescing: refactor and maybe a fix for #1308
...
the eliminatable-copy? word is the fix. the previous code only checked
that the registers had the same register class, but you also need to
check that they dont have the same representation size. because a copy
from double-rep -> double-2-rep is not eliminatable
2015-07-28 17:58:29 -07:00
Björn Lindqvist
b544c1b352
compiler.cfg.*: some extra unit tests for the compiler
2015-07-28 17:58:29 -07:00
Björn Lindqvist
820207c5b0
compiler.cfg.ssa.destruction.coalescing: simpler code for setting up the
...
initial leader-map and class-element-map
2015-07-28 17:58:28 -07:00
Björn Lindqvist
b4e4792cb6
compiler.cfg.*: a bunch of docs updates
2015-07-28 17:58:27 -07:00
John Benediktsson
d4e3adca57
compiler.cfg.ssa.destruction.coalescing: lookup variable once not twice.
2015-06-15 09:11:16 -07:00
Björn Lindqvist
aeaed40d9c
compiler.cfg.ssa.destruction.coalescing: new vocab to refactor and
...
simplify the prepare-insn code in compiler.cfg.ssa.destruction
2015-06-15 12:28:31 +02:00
Björn Lindqvist
c5ec490f39
compiler.cfg.ssa.destruction: the natural-sort was malplaced, only sort
...
inputs from ##phi, should fix remainder of #1345
2015-06-15 12:28:30 +02:00
Björn Lindqvist
5ad35fabd1
compiler.cfg.*: lots of more compiler docs
2015-06-14 16:44:37 +02:00
Björn Lindqvist
ca2d64af68
compiler.cfg.ssa.destruction: try and sort the vreg pairs before
...
elimination, this way you always get the same leader info
2015-06-14 16:44:36 +02:00
Björn Lindqvist
be342e8638
compiler.cfg.ssa.destruction: refactors maybe/must-eliminate-copy into
...
one try-eliminate-copy
2015-06-14 16:44:36 +02:00
Björn Lindqvist
98ae0eb02e
compiler.cfg.ssa.destruction: small refactoring which removes
...
class-elements and maybe-eliminate-copy-later
2015-06-14 16:44:36 +02:00
Björn Lindqvist
ceff23339c
compiler.cfg.ssa.destruction: a bunch of new docs
2015-06-14 16:44:36 +02:00
Björn Lindqvist
b4f881a9be
compiler.cfg.ssa.destruction.tests: a bunch of new tests
2015-06-14 16:44:36 +02:00
John Benediktsson
b366a06c41
use reject instead of [ ... not ] filter.
2015-05-12 18:50:34 -07:00
Björn Lindqvist
f9a6bb27f4
compiler.cfg.*: new test-case and setting leader-map to f is better
2015-05-09 20:10:27 -07:00
Björn Lindqvist
24dc0679dc
compiler.cfg.ssa.destruction: fix and testcase for the
...
"lookup-base-pointer* does not define a method for the POSTPONE: f
class" bug
2015-05-09 20:04:22 -07:00
Björn Lindqvist
24ca0e3160
compiler.cfg.*: reverting the commit
...
5fd9e61bc04b054d58b8eeecbe9b5c59f68f2195, caused bad regressions in SIMD code
2015-04-29 09:31:59 -07:00
Björn Lindqvist
17dff48402
compiler.cfg.ssa.*: refactors words to use stack parameters instead of
...
dynamic variables
2015-04-29 09:31:59 -07:00
Björn Lindqvist
c3ca8bd859
compiler.cfg.*: even more compiler docs
2015-04-29 09:31:58 -07:00
Björn Lindqvist
997f95196c
compiler.cfg.*: lots of new unit tests
2015-04-29 09:31:58 -07:00
Björn Lindqvist
63a1e90af8
compiler.cfg.ssa.cssa, compiler.cfg.ssa.destruction, compiler.utilities: docs & tests
2015-04-29 09:31:58 -07:00
Björn Lindqvist
d486de889d
compiler.cfg.*: smaller doc improvements
2015-04-29 09:31:57 -07:00
Björn Lindqvist
1bd4525ac6
compiler.cfg.stacks.local: refactoring making stack-changes and height-changes take and return stuff instead of using variables and the make building
2014-12-31 03:37:16 +01:00
John Benediktsson
c65877104e
compiler: cleanup usings.
2014-12-13 16:10:21 -08:00
John Benediktsson
068ddd6c7b
compiler: cleanup cfg passes to have stack effect ( cfg -- )
2014-12-11 12:48:43 -08:00
Björn Lindqvist
76cb665a8d
compiler.cfg.dominance: change needs-dominance effect from ( cfg -- cfg') to ( cfg -- )
2014-12-11 14:30:46 +01:00
Alex Vondrak
e90ce0865c
compiler.cfg.ssa.destruction.leaders: break off leader-map to resolve circular dependencies (oops)
2012-12-31 11:20:57 -08:00
Alex Vondrak
fc91dcf530
compiler.cfg.ssa.destruction: alien-call-insns are too hairy to coalesce (issue #22 )
2012-12-31 11:04:57 -08:00
Slava Pestov
07227f22f9
WIP
2012-12-31 11:03:33 -08:00
Slava Pestov
ec2f42fd40
compiler.cfg.liveness: merge in compiler.cfg.liveness.ssa and simplify the code, since we don't compute live sets before SSA construction anymore
2010-09-25 14:36:58 -07:00
Slava Pestov
355d89e8e8
compiler.cfg: now that kill-blocks cannot contain instructions that define vregs we can skip them all
2010-07-27 12:40:31 -04:00
Slava Pestov
e27adb2830
compiler: re-architect low-level optimizer to allow more than one output value per instruction
2010-07-13 07:40:14 -04:00
Slava Pestov
41d929a201
compiler.cfg.ssa.interference: implement linear-time interference test
2010-05-17 05:50:13 -04:00
Slava Pestov
5ecd2b61c7
compiler.cfg: more silly optimizations
2010-05-14 18:37:09 -04:00
Slava Pestov
e90712b1ed
compiler.cfg: cleanup
2010-05-03 17:34:26 -04:00
Slava Pestov
65f86bfce7
compiler.cfg.ssa.detruction: coalesce different representations in more cases
2010-05-03 17:34:22 -04:00
Slava Pestov
43f269e4eb
Register allocation now uses SSA properties to coalesce values with different representations
2010-05-03 17:34:20 -04:00
Slava Pestov
9b34a4a054
compiler.cfg: remove unused 'reps' slot from compiler.cfg, and re-organize things in preparation for SSA register allocation
2010-05-03 17:34:18 -04:00