diff options
author | 2016-06-06 20:56:49 +0000 | |
---|---|---|
committer | 2016-06-06 20:56:49 +0000 | |
commit | 6b631dc9662d39ca0f89ee4653d911f1f5291913 (patch) | |
tree | 076ece82cfbbd0b859a8e36cf1c4226dc122a801 /compiler/optimizing/nodes.cc | |
parent | d1be2a34836fc32d938225c08eae722f50bbb175 (diff) | |
parent | f89381fed12faf96c45a83a989ae2fff82c05f3b (diff) |
Merge "ART: ArrayGet hoisting restriction added."
Diffstat (limited to 'compiler/optimizing/nodes.cc')
-rw-r--r-- | compiler/optimizing/nodes.cc | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/compiler/optimizing/nodes.cc b/compiler/optimizing/nodes.cc index a1d243ec56..150d6b029b 100644 --- a/compiler/optimizing/nodes.cc +++ b/compiler/optimizing/nodes.cc @@ -731,6 +731,15 @@ bool HLoopInformation::HasBackEdgeNotDominatedByHeader() const { return false; } +bool HLoopInformation::DominatesAllBackEdges(HBasicBlock* block) { + for (HBasicBlock* back_edge : GetBackEdges()) { + if (!block->Dominates(back_edge)) { + return false; + } + } + return true; +} + bool HBasicBlock::Dominates(HBasicBlock* other) const { // Walk up the dominator tree from `other`, to find out if `this` // is an ancestor. |