Commit Graph

91 Commits (master)

Author SHA1 Message Date
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
Alex Vondrak 040f43854b compiler.cfg.graphviz: add block numbers to labels 2012-09-12 15:14:08 -07:00
Alex Vondrak a3ea32ed3e compiler.cfg.gvn.redundancy-elimination: horrific tinkering that doesn't even work 2012-09-12 15:14:08 -07:00
Alex Vondrak cb742f24d1 compiler.cfg.gvn.redundancy-elimination: rough draft 2012-09-12 15:14:08 -07:00
Alex Vondrak 454c2f245b compiler.cfg.gvn: preparing for avail-based redundancy elimination 2012-09-12 15:14:08 -07:00
Alex Vondrak cce1f9d859 compiler.cfg.gvn.testing: minor fix 2012-09-12 15:14:08 -07:00
Alex Vondrak 1adfdc5fd6 compiler.cfg.gvn.alien: clean up destructive rewrites 2012-09-12 15:14:08 -07:00
Alex Vondrak 60abd53808 compiler.cfg.gvn.slots: make simplify-slot-addressing non-destructive 2012-09-12 15:14:08 -07:00
Alex Vondrak 3787f64422 compiler.cfg.gvn.comparisons: fix premature cfg modifications 2012-09-12 15:14:08 -07:00
Alex Vondrak d6641eddb3 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 ad0a2e78b3 compiler.cfg.gvn.misc: simplify ##phi rewrite 2012-09-12 15:14:07 -07:00
Alex Vondrak 4b28eeaf21 compiler.cfg.gvn: move ##phi junk to proper vocabs 2012-09-12 15:14:07 -07:00
Alex Vondrak 67053cd540 compiler.cfg.gvn: I'm stupid; don't think a separate assoc is needed 2012-09-12 15:14:07 -07:00
Alex Vondrak 087329bbec compiler.cfg.gvn: refactor 2012-09-12 15:14:07 -07:00
Alex Vondrak b64d116582 compiler.cfg.gvn.testing: clean stuff up; get full, proper graphviz output 2012-09-12 15:14:07 -07:00
Alex Vondrak 6c09bd0cd5 compiler.cfg.gvn.testing: add basic graphviz output 2012-09-12 15:14:07 -07:00
Alex Vondrak 0e7fb629f5 compiler.cfg.gvn: move crappy test code to compiler.cfg.gvn.testing 2012-09-12 15:14:07 -07:00
Alex Vondrak 4008edfdf8 move compiler.cfg.graphviz & compiler.cfg.gvn from basis to extra, just to keep organized 2012-09-12 15:14:07 -07:00
Slava Pestov 97ec3ea1b4 compiler.graphviz: add high-level IR call graph rendering 2009-08-05 03:33:06 -05:00
Slava Pestov 5344302040 compiler.cfg.graphviz: add render-dom word 2009-07-28 11:16:32 -05:00
Slava Pestov 41c5f0d941 compiler.cfg.graphviz: A utility for rendering CFGs with graphviz 2009-07-28 06:41:29 -05:00