Commit Graph

80 Commits (2c82dfb51ba6923c2e7dcf3fac5109ae9da528f2)

Author SHA1 Message Date
John Benediktsson ceb75057da change ERROR: words from throw-foo back to foo. 2015-08-13 16:13:05 -07: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 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
Doug Coleman 330c7ba156 factor: Removing SLOT: nth/at/global in favor of using change: at for tuple slots named ``at`` and change-at for hashtables.
Redo many FROM: and QUALIFIED: and using lists.
2015-08-12 08:49:02 -05:00
Doug Coleman 0bdc27053b compiler: oops, assoc-empty? vs empty?. undo harvest-values here. 2015-08-08 12:27:36 -05:00
Doug Coleman 76cb13ac52 basis: use harvest-values 2015-08-08 12:24:22 -05:00
Björn Lindqvist aca610813d compiler.cfg.representations.selection: use a union instead of a generic
to see if an insn is peephole-optimizable + test
2015-07-28 17:58:28 -07:00
Björn Lindqvist cdf9a8535b compiler.cfg.representations.selection: some initial docs from comments 2015-07-28 17:58:27 -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
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
Björn Lindqvist c3ca8bd859 compiler.cfg.*: even more compiler docs 2015-04-29 09:31:58 -07:00
Björn Lindqvist 837e098d41 compiler.cfg.*: a little more docs 2015-04-29 09:31:54 -07:00
Björn Lindqvist c7d9cb4c3d compiler.cfg.*: new and improved docs 2015-04-29 09:31:53 -07: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 c85175c10c compiler.cfg.*: new utility word apply-passes to improve the looks of long cleave's where each quotation only contains one word 2014-12-11 14:30:47 +01:00
Björn Lindqvist e5866dfa80 compiler.cfg.*: changed stack effect of needs-predecessors from ( cfg -- cfg') to ( cfg -- ) 2014-12-11 14:30:47 +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
John Benediktsson b6c069f99a compiler.cfg.representations.selection: removing 10^ in favor of 10^. 2012-09-05 09:25:26 -07:00
John Benediktsson 6a183718fa compiler.cfg: don't need to escape the symbol here. 2012-08-02 15:14:42 -07:00
Joe Groff 873208f986 compiler: more peephole tests for shl/sar 2011-11-13 16:10:24 -08:00
Doug Coleman 6cca0ea468 compiler.cfg: Rename <##foo> to ##foo, in the low-level IR 2011-11-11 19:48:38 -08:00
Doug Coleman eb2a0c611b compiler.cfg: Change low-level IR constructors from ##foo to <##foo> 2011-11-06 23:02:46 -08:00
John Benediktsson 378786599d Cleanup lint warnings. 2011-10-14 11:47:24 -07:00
Slava Pestov dc36fd712d compiler.cfg.representations: fix unit test, it depended on hashing order which changed recently 2011-10-10 12:15:41 -07:00
Joe Groff 2bd6de9a02 slots: pre-create the "at", "nth", and "global" slots to make deterministic the currently nondeterministic ambiguity between accessors:change-* and assocs:change-at, sequences:change-nth, and namespaces:change-global 2011-09-19 10:03:43 -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 ea726f5680 Move remaining sequence operations from generalizations to sequences.generalizations where they belong 2010-05-18 18:36:47 -04:00
Slava Pestov 5ecd2b61c7 compiler.cfg: more silly optimizations 2010-05-14 18:37:09 -04:00
Slava Pestov 5a67711bfd compiler.cfg: use x86 TEST instruction to optimize 'bitand 0 =' 2010-05-14 18:37:06 -04:00
Slava Pestov c211c3e84e FFI rewrite part 1: split up ##alien-invoke and friends into smaller instructions 2010-05-09 21:36:52 -04:00
Slava Pestov f988dad79c compiler.cfg: add ##load-float instruction for single precision floating point constants 2010-05-07 18:26:00 -04:00
Slava Pestov 58e4381eb1 compiler: new "binary literal area" at the end of a word's machine code stores constant floats and SIMD vectors; this allows ##load-reference/##load-memory fusion to be performed on x86-64, with a RIP-relative address reaching the data; also simplifies VM since custom relocation types used by the previous 32-bit-only optimization are no longer needed 2010-05-03 17:34:35 -04:00
Slava Pestov 9b4135713e compiler.cfg.representations: make sure that immediate operands fit 2010-05-03 17:34:34 -04:00
Slava Pestov 9788323d25 compiler: add ##load-vector instruction to avoid wasting a temporary register on x86-32 2010-05-03 17:34:28 -04:00
Slava Pestov df86d1341f compiler.cfg: clean up ##phi literals in tests 2010-05-03 17:34:24 -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
Slava Pestov d23bb19b55 Code cleanups 2010-05-03 17:34:17 -04:00
Slava Pestov 458fd007be compiler.cfg.representations: simplify a little 2010-05-03 17:34:11 -04:00
Slava Pestov ed8c32989f compiler.cfg.representations: add peephole optimizations for integer comparisons 2010-05-03 17:34:11 -04:00
Slava Pestov 0f5d9974a0 compiler.cfg.representations: fix various bugs 2010-05-03 17:34:11 -04:00
Slava Pestov 456743a6ce compiler.cfg.representations: add more peephole optimizations to reduce fixnum tagging and untagging overhead 2010-05-03 17:34:11 -04:00
Slava Pestov 913b95192e compiler.cfg: merge all alien accessors into ##load-memory-imm and ##store-memory-imm 2010-05-03 17:34:06 -04:00
Slava Pestov e95cd256ec compiler.cfg.representations: peephole optimizations are used to simplify the case where the input to a ##shl-imm or ##sar-imm needs to be untagged 2010-05-03 17:34:03 -04:00
Slava Pestov 5d3a7a7362 Untagged fixnums work in progress 2010-05-03 17:34:02 -04:00