summaryrefslogtreecommitdiff
path: root/test/ReferenceMap/ReferenceMap.java
diff options
context:
space:
mode:
author Vladimir Marko <vmarko@google.com> 2014-07-10 12:42:52 +0100
committer Vladimir Marko <vmarko@google.com> 2014-07-23 13:11:03 +0100
commit55fff044d3a4f7196098e25bab1dad106d9b54a2 (patch)
treee986d3788b9659d60c5ffc6f2138b206514a1c6e /test/ReferenceMap/ReferenceMap.java
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 'test/ReferenceMap/ReferenceMap.java')
0 files changed, 0 insertions, 0 deletions