summaryrefslogtreecommitdiff
path: root/compiler/optimizing/nodes.h
diff options
context:
space:
mode:
author Treehugger Robot <treehugger-gerrit@google.com> 2016-09-14 22:46:56 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2016-09-14 22:46:57 +0000
commit32772cbdbcb35f5475b01f31314a3c7289bdb589 (patch)
tree8b6bdecd60683c14397ab637c361e77dc669f3d1 /compiler/optimizing/nodes.h
parent8dae910bb8c0a635ecf355d6471ea9a0ad6fed20 (diff)
parent20e9db6db787e007e7032878c9899b28ec43e93f (diff)
Merge "Make LinearizeGraph() public (and move it to nodes files)"
Diffstat (limited to 'compiler/optimizing/nodes.h')
-rw-r--r--compiler/optimizing/nodes.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/compiler/optimizing/nodes.h b/compiler/optimizing/nodes.h
index 119b62a16b..4c6d28f0c8 100644
--- a/compiler/optimizing/nodes.h
+++ b/compiler/optimizing/nodes.h
@@ -365,6 +365,13 @@ class HGraph : public ArenaObject<kArenaAllocGraph> {
// is a throw-catch loop, i.e. the header is a catch block.
GraphAnalysisResult AnalyzeLoops() const;
+ // Computes the linear order (should be called before using HLinearOrderIterator).
+ // Linearizes the graph such that:
+ // (1): a block is always after its dominator,
+ // (2): blocks of loops are contiguous.
+ // This creates a natural and efficient ordering when visualizing live ranges.
+ void Linearize();
+
// Iterate over blocks to compute try block membership. Needs reverse post
// order and loop information.
void ComputeTryBlockInformation();