Commit Graph

77 Commits (db42e128538f32bb3399f5469866d1b3553ecea3)

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