Doug Coleman
|
fbb5f871c4
|
compiler: r: d:
|
2017-08-31 21:21:13 -05:00 |
Björn Lindqvist
|
a36c0cb5ac
|
compiler.*: moving all words only relevant for testing to compiler.test
|
2016-08-12 15:13:51 +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 |
Doug Coleman
|
ce046b77c8
|
compiler: rename D to D: because it wants a token. Same for R -> R:
|
2015-08-13 15:23:10 -07:00 |
Doug Coleman
|
e0d1b14e5c
|
factor: don't need FROM: namespaces => set or namespaces:set anymore
|
2015-08-12 11:25:57 -05:00 |
Doug Coleman
|
2adeed9cb3
|
factor: rename classes:members to class-members so it doesn't conflict with sets:members. ugh.
|
2015-07-20 00:32:42 -07:00 |
Doug Coleman
|
892c62e1dc
|
factor: second stab at [ ] [ ] unit-test -> { } [ ] unit-test
|
2015-07-03 09:39:59 -07:00 |
Doug Coleman
|
59f3b1ea57
|
Revert "factor: rename [ ] [ ] unit-test -> { } [ ] unit-test using a refactoring tool!"
Needs a bit more work.
This reverts commit 7e54cc2824 .
|
2015-07-02 13:47:06 -07:00 |
Doug Coleman
|
7e54cc2824
|
factor: rename [ ] [ ] unit-test -> { } [ ] unit-test using a refactoring tool!
|
2015-07-02 11:36:08 -07:00 |
Björn Lindqvist
|
5ad35fabd1
|
compiler.cfg.*: lots of more compiler docs
|
2015-06-14 16:44:37 +02:00 |
Björn Lindqvist
|
135d7f5ff3
|
compiler.cfg.*: more unit tests
|
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 |
John Benediktsson
|
c65877104e
|
compiler: cleanup usings.
|
2014-12-13 16:10:21 -08:00 |
Björn Lindqvist
|
53b7f82368
|
Docs: more compiler docs
|
2014-12-11 14:30:46 +01:00 |
Björn Lindqvist
|
96396cb3ad
|
compiler.*: use block>cfg and insns>block in many tests instead of wordier code
|
2014-11-22 17:31:38 -08:00 |
Björn Lindqvist
|
3b86d4b9ba
|
compiler.cfg.def-use: docs
|
2014-11-16 06:25:54 -08:00 |
Björn Lindqvist
|
f06f59b956
|
Docs: smallish improvements to compiler vocabs
|
2014-11-16 06:25:54 -08:00 |
John Benediktsson
|
7609ab6eda
|
compiler.cfg: fix some help-lint warnings.
|
2014-08-14 09:59:27 -07:00 |
Björn Lindqvist
|
6560778d2a
|
compiler.cfg.*: stub docs for register scheduling vocabs
|
2014-08-13 11:01:11 -07:00 |
Björn Lindqvist
|
60ffe0680e
|
kernel: new combinator 2with = with with
|
2014-07-22 07:40:13 -07:00 |
Slava Pestov
|
07227f22f9
|
WIP
|
2012-12-31 11:03:33 -08: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
|
8e46305288
|
compiler.cfg.save-contexts: don't insert ##save-context in front of ##phi
|
2010-07-19 09:27:10 -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
|
ea726f5680
|
Move remaining sequence operations from generalizations to sequences.generalizations where they belong
|
2010-05-18 18:36:47 -04:00 |
Slava Pestov
|
f5c5d8b44c
|
compiler: remove flat machine representation and generate code directly from the CFG
|
2010-05-03 17:34:32 -04:00 |
Slava Pestov
|
95ff5ffe51
|
New GC checks work in progress
|
2010-05-03 17:34:16 -04:00 |
Daniel Ehrenberg
|
e3481a7ed7
|
compiler.cfg.def-use uses sets
|
2010-03-02 19:23:34 -05:00 |
Daniel Ehrenberg
|
7074979745
|
Moving new-sets to sets
|
2010-02-26 16:01:01 -05:00 |
Slava Pestov
|
8bd2273e44
|
compiler.cfg: don't generate useless methods in instruction meta-programming. reduces bootstrap time
|
2009-11-02 20:11:29 -06:00 |
Slava Pestov
|
4a2823b2eb
|
compiler: tweak generated code
|
2009-09-04 03:01:18 -05:00 |
Slava Pestov
|
85a2bfab6c
|
compiler: eliminate boilerplate by centralizing info in declarative INSN: syntax
|
2009-09-02 06:22:37 -05:00 |
Slava Pestov
|
9595be4bf9
|
%box-displaced-alien: fix clobberage found by Doug
|
2009-08-30 05:11:08 -05:00 |
Slava Pestov
|
f662e6403a
|
compiler: new inline intrinsic for <displaced-alien> where the inputs have known types; value numbering now eliminates unnecessary allocation of displaced aliens if the result is immediately unboxed again
|
2009-08-27 00:06:19 -05:00 |
Doug Coleman
|
3f3d57032b
|
Delete empty unit tests files, remove 1- and 1+, reorder IN: lines in a lot of places, minor refactoring
|
2009-08-13 19:21:44 -05:00 |
Slava Pestov
|
4b7ba38aab
|
compiler.cfg: virtual registers are integers now, and representations are stored off to the side. Fix bug in representation selection that would manifest if a value was used as a float and a fixnum in different branches; cannot globally unbox float in this case
|
2009-08-08 04:02:18 -05:00 |
Slava Pestov
|
725280d424
|
Split off the notion of a register representation from a register class
|
2009-08-07 17:44:50 -05:00 |
Slava Pestov
|
dac7edd2ab
|
compiler.cfg.def-use: remove compute-def-use word, passes have to call compute-defs or compute-uses now; compiler.cfg.ssa.liveness: don't compute dominance and def-use first since destruction does already
|
2009-08-02 19:12:32 -05:00 |
Daniel Ehrenberg
|
d349cc565a
|
def-use puts phi uses in respective predecessors
|
2009-08-02 18:04:07 -04:00 |
Slava Pestov
|
d913d7331f
|
compiler.cfg: Minor optimization. Instructions can now only ever produce a single value; this eliminates 1array constructions and some iterations
|
2009-07-28 12:29:07 -05:00 |
Slava Pestov
|
1319d8e549
|
compiler.cfg.def-use: build def-use chains
|
2009-07-26 21:10:14 -05:00 |
Slava Pestov
|
31491df5f1
|
Removed unused code from compiler.cfg.def-use
|
2009-07-22 06:05:33 -05:00 |
Slava Pestov
|
25c42d04fd
|
compiler.cfg: Fix conflicts after merging local optimization refactoring into DCN branch
|
2009-07-22 03:17:53 -05:00 |
Slava Pestov
|
21a012e3d7
|
compiler.cfg: Major restructuring -- do not compute liveness before local optimization, and instead change local optimizations to be more permissive of undefined values. Now, liveness is only computed once, after phi elimination and before register allocation. This means liveness analysis does not need to take phi nodes into account and can now use the new compiler.cfg.dataflow-analysis framework
|
2009-07-22 03:08:28 -05:00 |
Slava Pestov
|
fdef772d67
|
compiler.cfg: if a block has an instruction that kills values it must be the only instruction in the block
|
2009-07-19 20:12:04 -05:00 |
Slava Pestov
|
e76dce8aff
|
Overflowing fixnum intrinsics now expand into several CFG nodes. This speeds up the common case since only the uncommon case is now a stack syncpoint
|
2009-07-16 18:29:40 -05:00 |
Slava Pestov
|
90daf6d03d
|
compiler.cfg: change representation of ##phi nodes. The input slot of ##phi nodes is now an assoc mapping predecessors to values, rather than a sequence of values. This ensures that optimization which delete predecessors can be implemented
|
2009-07-02 17:10:50 -05:00 |
Slava Pestov
|
6d04bf9c4a
|
Linear scan: build live ranges
|
2009-06-03 03:22:27 -05:00 |
Slava Pestov
|
2d231f066a
|
GC checks now save and restore registers
|
2009-06-02 18:23:47 -05:00 |