summaryrefslogtreecommitdiff
path: root/compiler/optimizing
diff options
context:
space:
mode:
author Nicolas Geoffray <ngeoffray@google.com> 2015-06-17 09:44:18 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2015-06-17 09:44:20 +0000
commit4b9a93e7774d6650f6f3b637d018109d6fe97546 (patch)
tree0327e8fb6842dad40418639d67a71b518b5bfc8e /compiler/optimizing
parent445e35028bc5cb6d921dc60e579b7b40ceb16c71 (diff)
parent3cde6227678cf62e06bca264671d1e957456ac3d (diff)
Merge "Remove bogus DCHECK in BCE."
Diffstat (limited to 'compiler/optimizing')
-rw-r--r--compiler/optimizing/bounds_check_elimination.cc10
1 files changed, 5 insertions, 5 deletions
diff --git a/compiler/optimizing/bounds_check_elimination.cc b/compiler/optimizing/bounds_check_elimination.cc
index 9d5e3fdca1..97b3725da1 100644
--- a/compiler/optimizing/bounds_check_elimination.cc
+++ b/compiler/optimizing/bounds_check_elimination.cc
@@ -335,12 +335,12 @@ class ArrayAccessInsideLoopFinder : public ValueObject {
continue;
}
- DCHECK(!length_value->IsPhi());
if (length_value->IsPhi()) {
- // Outer loop shouldn't collect bounds checks inside inner
- // loop because the inner loop body doen't dominate
- // outer loop's back edges. However just to be on the safe side,
- // if there are any such cases, we just skip over them.
+ // When adding deoptimizations in outer loops, we might create
+ // a phi for the array length, and update all uses of the
+ // length in the loop to that phi. Therefore, inner loops having
+ // bounds checks on the same array will use that phi.
+ // TODO: handle these cases.
continue;
}