diff options
author | 2016-09-14 22:46:56 +0000 | |
---|---|---|
committer | 2016-09-14 22:46:57 +0000 | |
commit | 32772cbdbcb35f5475b01f31314a3c7289bdb589 (patch) | |
tree | 8b6bdecd60683c14397ab637c361e77dc669f3d1 /compiler/optimizing/nodes.h | |
parent | 8dae910bb8c0a635ecf355d6471ea9a0ad6fed20 (diff) | |
parent | 20e9db6db787e007e7032878c9899b28ec43e93f (diff) |
Merge "Make LinearizeGraph() public (and move it to nodes files)"
Diffstat (limited to 'compiler/optimizing/nodes.h')
-rw-r--r-- | compiler/optimizing/nodes.h | 7 |
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(); |