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 |