Commit Graph

69 Commits (39a9b21e986bddccd21167a69e9a61ddc785ad43)

Author SHA1 Message Date
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