Björn Lindqvist
|
ded3760d46
|
compiler.*: merge of ##inc-r and ##inc-d into one instruction ##inc with a loc slot
this is nice because it leads to simpler code and matches how ##peek and ##replace instructions work
|
2015-04-29 09:31:53 -07:00 |
John Benediktsson
|
4d5f243fd6
|
compiler.cfg.gvn: fix tests for recent refactor.
|
2014-12-11 14:56:58 -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
|
33500db79f
|
compiler.cfg.*: help-lint and test case fixes
|
2014-12-11 15:02:40 +01: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
|
5fe9ce4235
|
compiler.cfg: fix stack effect of cfg-changed and predecessors changed to ( cfg -- )
|
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 |
John Benediktsson
|
44f31ee13e
|
use swapd instead of [ swap ] dip.
|
2014-11-21 11:56:17 -08:00 |
Doug Coleman
|
d4ff5a42e6
|
Merge avondrak's graphviz branch.
|
2013-11-27 21:39:14 +00:00 |
Alex Vondrak
|
8a476f591f
|
compiler.cfg.gvn.tests: fix unit tests now that more vregs get copy-propagated
|
2012-09-19 17:28:13 -07:00 |
Alex Vondrak
|
d58d467434
|
compiler.cfg.gvn: experiment to scan for available vregs when rewriting
instructions instead of relying on the availability of the canonical
leader; untested
|
2012-09-19 17:28:13 -07:00 |
Alex Vondrak
|
3ff0b1a1ec
|
compiler.cfg.gvn.testing: some helper words for debugging CFGs directly
|
2012-09-19 17:28:13 -07:00 |
Alex Vondrak
|
4c53c971c1
|
compiler.cfg.gvn.math: missed some availability checks that were causing math.vectors.simd.tests to fail (issue #671)
|
2012-09-18 00:07:10 -07:00 |
Doug Coleman
|
700ca426d1
|
compiler.cfg.gvn.testing: Add one more platforms.txt
|
2012-09-13 10:09:29 -07:00 |
Doug Coleman
|
ece7a4177a
|
compiler.graphviz: Add platforms.txt until someday when graphviz win64
binaries are easy.
|
2012-09-13 08:51:39 -07:00 |
Alex Vondrak
|
2573e4c672
|
compiler.cfg.gvn.tests: test that gvn is, in fact, global; also, minor test of gcse modulo register availability
|
2012-09-12 15:14:12 -07:00 |
Alex Vondrak
|
0634eaefae
|
compiler.cfg.gvn.tests: add a new 'fixme' unit test for a deficiency in the gvn algorithm
|
2012-09-12 15:14:12 -07:00 |
Alex Vondrak
|
419c15dd4f
|
compiler.cfg.gvn.tests: to fix remaining regressions, added ##peeks so that vreg uses actually had defs (and thus would be available during gcse)
|
2012-09-12 15:14:12 -07:00 |
Alex Vondrak
|
c29b0cc897
|
compiler.cfg.gvn.tests: ##phis now get converted into ##copy insns, so unit test had to change
|
2012-09-12 15:14:12 -07:00 |
Alex Vondrak
|
112824c9e3
|
compiler.cfg.gvn.tests: fix test-branch-folding
|
2012-09-12 15:14:12 -07:00 |
Alex Vondrak
|
c14141a6b5
|
compiler.cfg.gvn.tests: fix the old, single-basic-block tests from
compiler.cfg.value-numbering (which was nearly all of them) to work with
new gvn interface
|
2012-09-12 15:14:12 -07:00 |
Alex Vondrak
|
383fa08c53
|
compiler.cfg.gvn: merge changes from value-numbering-tests into gvn-tests
|
2012-09-12 15:14:12 -07:00 |
Alex Vondrak
|
fb83bf2d6a
|
compiler.cfg.gvn.avail: add a FROM: to clarify collision over change-at word
|
2012-09-12 15:14:12 -07:00 |
Alex Vondrak
|
f2638c99dd
|
compiler.cfg.gvn: merge in applicable changes from compiler.cfg.value-numbering
|
2012-09-12 15:14:11 -07:00 |
Alex Vondrak
|
2456f90eaf
|
compiler.cfg.gvn.math: re-enable distribution for final pass
|
2012-09-12 15:14:11 -07:00 |
Alex Vondrak
|
a11e1bb95a
|
compiler.cfg.graphviz & compiler.cfg.gvn.testing: change output slightly
|
2012-09-12 15:14:11 -07:00 |
Alex Vondrak
|
d86d44023a
|
compiler.cfg.gvn: fix copyrights
|
2012-09-12 15:14:11 -07:00 |
Alex Vondrak
|
270de14e22
|
compiler.cfg.graphviz & compiler.cfg.gvn.testing: png -> svg
|
2012-09-12 15:14:11 -07:00 |
Alex Vondrak
|
0bcff5d642
|
compiler.cfg.gvn.alien: use next-vreg on final iteration, which seems to fix a bug
|
2012-09-12 15:14:11 -07:00 |
Alex Vondrak
|
2f1fdaad6c
|
compiler.cfg.gvn: forgot to make certain defs available
|
2012-09-12 15:14:11 -07:00 |
Alex Vondrak
|
7de3ec13e5
|
compiler.cfg.gvn.comparisons: missed a spot for with-available-uses?
|
2012-09-12 15:14:11 -07:00 |
Alex Vondrak
|
b99a90f138
|
compiler.cfg.gvn.avail: make with-available-uses? short-circuit
|
2012-09-12 15:14:10 -07:00 |
Alex Vondrak
|
6855e0bb15
|
compiler.cfg.gvn: fix special vreg insn handling
|
2012-09-12 15:14:10 -07:00 |
Alex Vondrak
|
2abb38463a
|
compiler.cfg.gvn: enable rewrites & ##phi processing
|
2012-09-12 15:14:10 -07:00 |
Alex Vondrak
|
78141b4ae5
|
compiler.cfg.gvn.comparisons: next-vreg not a problem here; only used for temps (not defs)
|
2012-09-12 15:14:10 -07:00 |
Alex Vondrak
|
d5dc989fd8
|
compiler.cfg.gvn: found infinite loop issues when rewrites define new vregs
|
2012-09-12 15:14:10 -07:00 |
Alex Vondrak
|
774264b9f9
|
compiler.cfg.gvn: add simple gcse (avoid rewriting & ##phi handling)
|
2012-09-12 15:14:10 -07:00 |
Alex Vondrak
|
a9aebc2854
|
compiler.cfg.gvn.avail: kludgey fix for odd problem with updating avail sets
|
2012-09-12 15:14:10 -07:00 |
Alex Vondrak
|
b90187a7b0
|
compiler.cfg.gvn: try to clean up availability issues (untested)
|
2012-09-12 15:14:10 -07:00 |
Alex Vondrak
|
a0c569c876
|
compiler.cfg.gvn: move ##phi handling to the value-number method
|
2012-09-12 15:14:09 -07:00 |
Alex Vondrak
|
caab84061d
|
compiler.cfg.gvn: annotate portions of code where availability will be an issue
|
2012-09-12 15:14:09 -07:00 |
Alex Vondrak
|
e379feeb45
|
compiler.cfg.gvn.expressions: ##phis in different blocks should not be congruent
|
2012-09-12 15:14:09 -07:00 |
Alex Vondrak
|
68f577bfa1
|
compiler.cfg.gvn: clean up
|
2012-09-12 15:14:09 -07:00 |
Alex Vondrak
|
f29bebaa0e
|
compiler.cfg.gvn: gut it down to just identifying value numbers for now
|
2012-09-12 15:14:09 -07:00 |
Alex Vondrak
|
d81d3c8b68
|
compiler.cfg.gvn: convert expressions, graph, and misc to before the half-baked avail stuff
|
2012-09-12 15:14:09 -07:00 |
Alex Vondrak
|
ffe70b55e9
|
delete compiler.cfg.gvn.redundancy-elimination
|
2012-09-12 15:14:09 -07:00 |
Alex Vondrak
|
09c6a2c040
|
compiler.cfg.gvn: some poorly thought-out attempts at redundancy elimination that don't work; committed for posterity
|
2012-09-12 15:14:09 -07:00 |
Alex Vondrak
|
3d66cc52fb
|
compiler.cfg.gvn.testing: separate out test-gvn to skip graphviz output for each GVN iteration
|
2012-09-12 15:14:09 -07:00 |
Alex Vondrak
|
25b0fb5c03
|
compiler.cfg.gvn.avail: minor simplification
|
2012-09-12 15:14:08 -07:00 |