summaryrefslogtreecommitdiff
path: root/compiler/optimizing/nodes.cc
diff options
context:
space:
mode:
author Aart Bik <ajcbik@google.com> 2016-06-06 20:56:49 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2016-06-06 20:56:49 +0000
commit6b631dc9662d39ca0f89ee4653d911f1f5291913 (patch)
tree076ece82cfbbd0b859a8e36cf1c4226dc122a801 /compiler/optimizing/nodes.cc
parentd1be2a34836fc32d938225c08eae722f50bbb175 (diff)
parentf89381fed12faf96c45a83a989ae2fff82c05f3b (diff)
Merge "ART: ArrayGet hoisting restriction added."
Diffstat (limited to 'compiler/optimizing/nodes.cc')
-rw-r--r--compiler/optimizing/nodes.cc9
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.