Doug Coleman
|
b6be8685c3
|
basis: ERROR: changes.
|
2015-08-13 03:20:39 -07:00 |
Björn Lindqvist
|
2c5f00d865
|
compiler.cfg.*: even more docs
|
2015-07-28 17:58:28 -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
|
135d7f5ff3
|
compiler.cfg.*: more unit tests
|
2015-04-29 09:31:59 -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
|
16f6025979
|
compiler.cfg.linear-scan.allocation.spilling: docs and tests for this vocab
|
2015-04-29 09:31:58 -07:00 |
John Benediktsson
|
c65877104e
|
compiler: cleanup usings.
|
2014-12-13 16:10:21 -08:00 |
Slava Pestov
|
b776a92546
|
compiler.cfg.linear-scan: fix bad interaction between split position calculation and register-clobbering instructions
|
2010-07-18 17:38:52 -04:00 |
Slava Pestov
|
6d30bb8bf4
|
compiler.cfg.linear-scan: pointless optimizations
|
2010-05-14 18:37:08 -04:00 |
Slava Pestov
|
982e704626
|
compiler.cfg.linear-scan: clean up clobber-insn handling
|
2010-05-07 18:22:35 -04:00 |
Slava Pestov
|
627295f094
|
Language change: tuple slot setter words with stack effect ( value object -- ) are now named FOO<< instead of (>>FOO)
|
2010-05-06 17:21:02 -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
|
43fc230c69
|
compiler.cfg.linear-scan: cleanups
|
2010-05-03 17:34:18 -04:00 |
Slava Pestov
|
51b13ce373
|
compiler.cfg.linear-scan: don't insert a _reload if the register is going to be overwritten anyway
|
2010-05-03 17:34:14 -04:00 |
Slava Pestov
|
299b5b0f6c
|
filter-here -> filter!
|
2009-10-28 00:44:05 -05:00 |
Slava Pestov
|
951e3e9c83
|
delete-nth -> remove-nth!
|
2009-10-27 23:41:57 -05:00 |
Slava Pestov
|
1d872db58d
|
compiler.cfg.linear-scan: tweak it so that register allocation does not depend on hashing order
|
2009-09-27 23:29:48 -05:00 |
Slava Pestov
|
0db01f6d5f
|
compiler.cfg.linear-scan now supports partial sync-points where all registers are spilled; taking advantage of this, there are new trigonometric intrinsics which yield a 2x performance boost on benchmark.struct-arrays and a 25% boost on benchmark.partial-sums
|
2009-08-30 04:52:01 -05:00 |
Slava Pestov
|
791fbe4003
|
compiler.cfg.linear-scan: fix case where a register can be made available for only a part of a live interval's lifetime, but there are no more usages after the split location. This case never came up until global stack analysis, at which point it started to be exercised on x86-32
|
2009-07-30 02:13:30 -05:00 |
Slava Pestov
|
ae67de6f90
|
compiler.cfg.linear-scan: fix fencepost error in spill insertion
|
2009-07-10 03:58:51 -05:00 |
Slava Pestov
|
dea872c7e3
|
compiler.cfg.linear-scan.allocation: fix broken spill slot reuse logic
|
2009-07-10 00:25:46 -05:00 |
Slava Pestov
|
d02854b04e
|
compiler.cfg.linear-scan: two live intervals which are coalesced will use the same spill slot
|
2009-07-09 23:12:49 -05:00 |
Slava Pestov
|
5a64290386
|
compiler.cfg.linear-scan: more code cleanups, and working on split-to-fit algorithm
|
2009-07-09 00:20:03 -05:00 |
Slava Pestov
|
4507bdcbc0
|
compiler.cfg.linear-scan: code cleanups
|
2009-07-08 23:28:28 -05:00 |
Slava Pestov
|
c20e6c290f
|
compiler.cfg.linear-scan: split off parallel mapping code from resolve pass, use it in assignment pass to resolve parallel copies
|
2009-07-08 23:07:06 -05:00 |
Slava Pestov
|
e2044602aa
|
compiler.cfg.linear-scan: debugging spilling, add more assertions
|
2009-07-07 13:01:27 -05:00 |
Slava Pestov
|
43c873f00a
|
compiler.cfg.linear-scan: code cleanup
|
2009-07-07 03:45:27 -05:00 |
Slava Pestov
|
0bcf4ce535
|
compiler.cfg.linear-scan: Re-implement spilling, add some additional runtime assertions, simplify assignment pass since it doesn't have to track spill slots anymore; just assume a live value that's not in active or inactive is spilled
|
2009-07-07 03:28:55 -05:00 |
Slava Pestov
|
d07c0429fc
|
compiler.cfg.linear-scan: assign spill slots to vregs globally, so that resolve pass never has to perform a memory->memory transfer
|
2009-07-03 22:51:40 -05:00 |
Slava Pestov
|
e6b1c21590
|
compiler.cfg.linear-scan: fix spilling
|
2009-07-01 22:37:27 -05:00 |
Slava Pestov
|
a19f22ec82
|
compiler.cfg.linear-scan: debugging spilling and resolve pass
|
2009-07-01 17:41:07 -05:00 |
Slava Pestov
|
5c912504d7
|
compiler.cfg.linear-scan: untangle add-active/delete-active/add-handled calls in spilling, replace 'sort-values last' with 'alist-max' in compiler.utilities
|
2009-06-19 18:28:30 -05:00 |
Slava Pestov
|
2f15ac3c8f
|
compiler.cfg.linear-scan: Fix a couple of bugs
|
2009-06-19 03:42:42 -05:00 |
Slava Pestov
|
1f5f8393c3
|
compiler.cfg.linear-scan: Further progress on inactive interval handling
|
2009-06-17 15:27:20 -05:00 |
Slava Pestov
|
d0f6a7d048
|
Split up compiler.cfg.linear-scan.allocation into a number of sub-vocabularies; start work on compiler.cfg.linear-scan.resolve; start work on inactive interval splitting
|
2009-06-11 17:55:14 -05:00 |