Commit Graph

67 Commits (2c67a5cd78e5dcffd7146e6fd0eb95f810a497e1)

Author SHA1 Message Date
Alex Vondrak f9fd21942b compiler.cfg.gvn.tests: fix unit tests now that more vregs get copy-propagated 2012-09-19 17:28:13 -07:00
Alex Vondrak 540adcd1c9 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 6f5a1ed85d compiler.cfg.gvn.testing: some helper words for debugging CFGs directly 2012-09-19 17:28:13 -07:00
Alex Vondrak 09fd18b542 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 c15e06f4ae compiler.cfg.gvn.testing: Add one more platforms.txt 2012-09-13 10:09:29 -07:00
Doug Coleman 6a77d43d90 compiler.graphviz: Add platforms.txt until someday when graphviz win64
binaries are easy.
2012-09-13 08:51:39 -07:00
Alex Vondrak f33b06765c 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 fa161b6c8f 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 90d2162aae 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 f54799e3c6 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 4e4ae04155 compiler.cfg.gvn.tests: fix test-branch-folding 2012-09-12 15:14:12 -07:00
Alex Vondrak bce722b981 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 475bef01c1 compiler.cfg.gvn: merge changes from value-numbering-tests into gvn-tests 2012-09-12 15:14:12 -07:00
Alex Vondrak 5c448a141f compiler.cfg.gvn.avail: add a FROM: to clarify collision over change-at word 2012-09-12 15:14:12 -07:00
Alex Vondrak 2d36c588e2 compiler.cfg.gvn: merge in applicable changes from compiler.cfg.value-numbering 2012-09-12 15:14:11 -07:00
Alex Vondrak e97d434a68 compiler.cfg.gvn.math: re-enable distribution for final pass 2012-09-12 15:14:11 -07:00
Alex Vondrak 79f7577716 compiler.cfg.graphviz & compiler.cfg.gvn.testing: change output slightly 2012-09-12 15:14:11 -07:00
Alex Vondrak bb977f40bd compiler.cfg.gvn: fix copyrights 2012-09-12 15:14:11 -07:00
Alex Vondrak 02b4eb6e82 compiler.cfg.graphviz & compiler.cfg.gvn.testing: png -> svg 2012-09-12 15:14:11 -07:00
Alex Vondrak 65f75f4bed 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 878a35e343 compiler.cfg.gvn: forgot to make certain defs available 2012-09-12 15:14:11 -07:00
Alex Vondrak 0096889ba9 compiler.cfg.gvn.comparisons: missed a spot for with-available-uses? 2012-09-12 15:14:11 -07:00
Alex Vondrak 126b72f4c2 compiler.cfg.gvn.avail: make with-available-uses? short-circuit 2012-09-12 15:14:10 -07:00
Alex Vondrak 2a63e8b046 compiler.cfg.gvn: fix special vreg insn handling 2012-09-12 15:14:10 -07:00
Alex Vondrak 58377eef75 compiler.cfg.gvn: enable rewrites & ##phi processing 2012-09-12 15:14:10 -07:00
Alex Vondrak 8a9e27b665 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 1a13d29f1b compiler.cfg.gvn: found infinite loop issues when rewrites define new vregs 2012-09-12 15:14:10 -07:00
Alex Vondrak 7521a70ebc compiler.cfg.gvn: add simple gcse (avoid rewriting & ##phi handling) 2012-09-12 15:14:10 -07:00
Alex Vondrak 0679fb5ec7 compiler.cfg.gvn.avail: kludgey fix for odd problem with updating avail sets 2012-09-12 15:14:10 -07:00
Alex Vondrak 00fa71fb91 compiler.cfg.gvn: try to clean up availability issues (untested) 2012-09-12 15:14:10 -07:00
Alex Vondrak 38c8295950 compiler.cfg.gvn: move ##phi handling to the value-number method 2012-09-12 15:14:09 -07:00
Alex Vondrak 031c76ce9b compiler.cfg.gvn: annotate portions of code where availability will be an issue 2012-09-12 15:14:09 -07:00
Alex Vondrak 51bb3d0a6e compiler.cfg.gvn.expressions: ##phis in different blocks should not be congruent 2012-09-12 15:14:09 -07:00
Alex Vondrak 529d27ae30 compiler.cfg.gvn: clean up 2012-09-12 15:14:09 -07:00
Alex Vondrak 0ac4535c1f compiler.cfg.gvn: gut it down to just identifying value numbers for now 2012-09-12 15:14:09 -07:00
Alex Vondrak ca0b2a59fd 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 63688f1dc4 delete compiler.cfg.gvn.redundancy-elimination 2012-09-12 15:14:09 -07:00
Alex Vondrak 02813f031e 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 22a28b8946 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 942ea60dfd compiler.cfg.gvn.avail: minor simplification 2012-09-12 15:14:08 -07:00
Alex Vondrak 80a1b52d03 compiler.cfg.graphviz: add block numbers to labels 2012-09-12 15:14:08 -07:00
Alex Vondrak dca0a78956 compiler.cfg.gvn.redundancy-elimination: horrific tinkering that doesn't even work 2012-09-12 15:14:08 -07:00
Alex Vondrak 3bca0e21cb compiler.cfg.gvn.redundancy-elimination: rough draft 2012-09-12 15:14:08 -07:00
Alex Vondrak 1faaac02e6 compiler.cfg.gvn: preparing for avail-based redundancy elimination 2012-09-12 15:14:08 -07:00
Alex Vondrak 91e1c059b6 compiler.cfg.gvn.testing: minor fix 2012-09-12 15:14:08 -07:00
Alex Vondrak c80b34b3dc compiler.cfg.gvn.alien: clean up destructive rewrites 2012-09-12 15:14:08 -07:00
Alex Vondrak e16071f47d compiler.cfg.gvn.slots: make simplify-slot-addressing non-destructive 2012-09-12 15:14:08 -07:00
Alex Vondrak 091bbdfb07 compiler.cfg.gvn.comparisons: fix premature cfg modifications 2012-09-12 15:14:08 -07:00
Alex Vondrak 89eaa78441 compiler.cfg.gvn: with the change to vreg>vn, must check-redundancy on *any* insn that defs a vreg 2012-09-12 15:14:07 -07:00
Alex Vondrak 80fcf2f9b0 compiler.cfg.gvn.misc: simplify ##phi rewrite 2012-09-12 15:14:07 -07:00