Commit Graph

1896 Commits (37e7349dee50301ddfc2a3fc4da87c70b14486f3)

Author SHA1 Message Date
Doug Coleman fa2bf33659 compiler.tree: renaming is hard. cleanup -> cleanup-tree 2015-06-05 23:18:43 -07:00
Doug Coleman 16094d283b compiler.tree.debugger: more "cleanup" 2015-06-05 23:04:05 -07:00
Doug Coleman a0cb7b4fd8 compiler.tree.cleanup: Fix docs 2015-06-05 21:22:50 -07:00
Doug Coleman 808342076d compiler: rename cleanup to cleanup-tree, cleanup* to cleanup-tree* 2015-06-05 21:08:18 -07:00
John Benediktsson a66bed77b3 compiler.cfg.stacks.clearing: fix help-lint. 2015-05-18 10:02:35 -07:00
John Benediktsson c7ea419874 compiler.cfg.stacks.clearing: fix tests. 2015-05-17 09:32:44 -07:00
Björn Lindqvist 9ceea3c241 compiler.*: new cfg instruction ##clear, it makes it easier to see where
the compiler.cfg.stacks.clearing pass inserts extra instructions
2015-05-17 07:59:34 +02:00
Björn Lindqvist 655faadec9 compiler.*: now when we're tracking uninitialized locations instead of
initialized ones, the height slot isn't needed on ##call anymore
2015-05-17 07:59:34 +02:00
Björn Lindqvist 6dd2fe31b6 compiler.cfg.stacks.*: new attempt at fixing the gc maps bugs
the padding vocab is inverted so that instead of trying to track which
locations are live, it tracks those which are dead which is much easier
to get right.
2015-05-17 07:59:34 +02:00
John Benediktsson aa1a5f22ba compiler.tree.debugger: fix docs using. 2015-05-14 08:16:27 -07:00
John Benediktsson 2c3492a916 minor cleanup to some docs. 2015-05-13 16:09:14 -07:00
John Benediktsson 296968580a use assoc-reject instead of [ ... not ] assoc-filter. 2015-05-12 19:08:42 -07: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 409a32d555 compiler.cfg.stacks.padding: docs 2015-05-09 20:04:23 -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 ecf3829843 compiler.cfg.stacks.*: new vocab 'padding' to perform much more accurate
live analysis. it will replace the 'map' vocab
2015-05-09 20:04:22 -07:00
Björn Lindqvist 0c2559ef6e compiler.*: a bunch more compiler docs 2015-05-09 20:04:22 -07:00
Björn Lindqvist e2c91852e4 compiler.cfg.utilities: unused word 2015-05-09 20:04:22 -07:00
Björn Lindqvist 8df92abeb9 compiler.*,cpu.*: add a height slot to ##call nodes, then other compiler
passes can much easier to accurate liveness analysis on stack locations
2015-05-09 20:04:22 -07:00
Björn Lindqvist 8f02cad9c5 compiler.cfg.*: a bunch of new tests 2015-05-09 20:04:22 -07:00
Björn Lindqvist a195e361df compiler.cfg.stacks.*: create-locs, word for creating stack locations
from a sequence
2015-05-09 20:04:21 -07:00
Doug Coleman 62ea429c2b compiler.cfg.linear-scan.assignment: Trivial docs fix. 2015-04-30 18:39:31 -07:00
John Benediktsson a7cd03b45d compiler.cfg.linear-scan.assignment: fix help-lint. 2015-04-30 17:20:52 -07:00
Björn Lindqvist 5ca23c4793 compiler.*: a few extra doc fixes 2015-04-30 04:51:58 +02:00
Björn Lindqvist 6097e80178 compiler.cfg.*: fixing tests so they work on 32bit archs too 2015-04-30 04:49:48 +02:00
Björn Lindqvist b4e7ffede4 compiler.cfg.stacks.local: test and fix for a silly bug in
compute-local-kill-set (switched the order on ds and rs)
2015-04-29 09:32:00 -07:00
Björn Lindqvist 9fc73c3355 compiler.cfg.stacks.local: unused words 2015-04-29 09:32:00 -07:00
Björn Lindqvist d0c1493f36 compiler.cfg.linearization: can't use slurp/replenish-queue here because
the successors need to be pushed to the back of the deque
2015-04-29 09:32:00 -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 050e15ce83 compiler.cfg.debugger: new words build-optimized-tree and run-passes to
remove some duplicated code
2015-04-29 09:31:59 -07:00
Björn Lindqvist 6215561ad4 compiler.cfg.*: more docs and removing a test that isn't relevant anymore 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 2077ae9180 compiler.cfg.linear-scan.assignment: refactoring vreg>reg and
assign-registers-in-block so locals aren't needed
2015-04-29 09:31:59 -07:00
Björn Lindqvist 135d7f5ff3 compiler.cfg.*: more unit tests 2015-04-29 09:31:59 -07:00
Björn Lindqvist 992314d2de compiler.cfg.*: new word for consuming deques slurp/replenish-deque
most uses of slurp-deque processes one item and pushes a sequence of
items to continue working with. it can be formalized into a
slurp/replenish-deque combinator which also reduces the amount of
variables you need to use
2015-04-29 09:31:58 -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 167d1598b3 compiler.cfg.linear-scan.allocation.*: lots more docs and some word simplifications 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 16f6025979 compiler.cfg.linear-scan.allocation.spilling: docs and tests for this vocab 2015-04-29 09:31:58 -07:00
Björn Lindqvist b827bc75cc compiler.*: bunch of new docs for some compiler instructions 2015-04-29 09:31:58 -07:00
Björn Lindqvist a17e943e88 compiler.cfg.liveness: refactoring so that words that doesn't modify
the live-set doesnt return it

e.g it's clearer when the effect is ( live-set insn -- ) than ( live-set insn -- live-set ) that the live-set is modified in place
2015-04-29 09:31:57 -07:00
Björn Lindqvist c876d79b9d compiler.cfg.liveness: lots of more tests and some docs 2015-04-29 09:31:57 -07:00
Björn Lindqvist aa6fbf475e compiler.cfg: the id slot of basic-block appears to not be needed 2015-04-29 09:31:57 -07:00
Björn Lindqvist 5cd44dc07c compiler.cfg.linear-scan.allocation.state: set spill-area-size/align when the cfg tuple is created 2015-04-29 09:31:57 -07:00
Björn Lindqvist d486de889d compiler.cfg.*: smaller doc improvements 2015-04-29 09:31:57 -07:00
Björn Lindqvist 4cda101717 compiler.cfg.linear-scan.allocation.state: more docs and tests for vocab 2015-04-29 09:31:57 -07:00
Björn Lindqvist 043b6d5377 compiler.cfg.linear-scan.linear-scan: refactoring of word so that locals doesn't need to be used and more docs (by moving comments) 2015-04-29 09:31:56 -07:00
Björn Lindqvist 6c6f85428c compiler.cfg.intrinsics.simd: refactoring to use assocs instead of case-s for lookups + tests 2015-04-29 09:31:56 -07:00