summaryrefslogtreecommitdiff
path: root/compiler/optimizing/graph_visualizer.h
diff options
context:
space:
mode:
authorVladimir Marko <vmarko@google.com>2014-07-10 12:42:52 +0100
committerVladimir Marko <vmarko@google.com>2014-07-23 13:11:03 +0100
commit55fff044d3a4f7196098e25bab1dad106d9b54a2 (patch)
treee986d3788b9659d60c5ffc6f2138b206514a1c6e /compiler/optimizing/graph_visualizer.h
parent055fb15e980347d7975d8f88c531b752c0f9b316 (diff)
Rewrite topological sort order and improve GVN.
Rewrite the topological sort order to include a full loop before the blocks that go after the loop. Add a new iterator class LoopRepeatingTopologicalSortIterator that differs from the RepeatingTopologicalSortIterator by repeating only loops and repeating them early. It returns to the loop head if the head needs recalculation when we reach the end of the loop. In GVN, use the new loop-repeating topological sort iterator and for a loop head merge only the preceding blocks' LVNs if we're not currently recalculating this loop. Also fix LocalValueNumbering::InPlaceIntersectMaps() which was keeping only the last element of the intersection, avoid some unnecessary processing during LVN merge and add some missing braces to MIRGraph::InferTypeAndSize(). Bug: 16398693 Change-Id: I4e10d4acb626a5b8a28ec0de106a7b37f9cbca32
Diffstat (limited to 'compiler/optimizing/graph_visualizer.h')
0 files changed, 0 insertions, 0 deletions