Commit Graph

40 Commits (774264b9f90232fe521a45b19c4966c241b37258)

Author SHA1 Message Date
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
John Benediktsson f4a6e10818 More cleanup of unused stuff. 2011-10-19 11:01:16 -07:00
Joe Groff 2bd6de9a02 slots: pre-create the "at", "nth", and "global" slots to make deterministic the currently nondeterministic ambiguity between accessors:change-* and assocs:change-at, sequences:change-nth, and namespaces:change-global 2011-09-19 10:03:43 -07:00
Slava Pestov 73ff8ffed1 compiler.graphviz: fix load error 2010-05-10 00:45:48 -04:00
Slava Pestov 33eb15bf44 compiler.cfg.debugger: clean up and make it more flexible 2010-05-03 17:34:22 -04:00
Slava Pestov 0e3a261637 Fix test failures in compiler.cfg.linearization.order, compiler.tests.low-level-ir and compiler.graphviz 2009-09-22 05:07:52 -05:00
Slava Pestov 661bf83ff3 compiler.graphviz: was broken since some time ago, fix and add tests 2009-09-22 03:20:22 -05:00
Slava Pestov d0c393aa60 compiler.cfg: new system to track when results of analyses need to be recomputed (reverse post order, linear order, predecessors, dominance, loops). Passes can now call needs-predecessors, needs-dominance, needs-loops at the beginning, and cfg-changed, predecessors-changd at the end. Linearization order now takes loop nesting into account, and linear scan now uses linearization order instead of RPO. 2009-08-08 20:02:56 -05: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