diff options
| author | 2015-11-19 17:04:22 -0800 | |
|---|---|---|
| committer | 2015-12-08 17:02:15 -0800 | |
| commit | 4b467ed97bc5886fb800209c0ee94df10163b88d (patch) | |
| tree | 13b2d0b144c65e91243f3aa50ce9514276e52c64 /compiler/optimizing/bounds_check_elimination.cc | |
| parent | eb5ddd7b02ce2d25d4f28f85a13aac628526e1c1 (diff) | |
Simplify and rename IsLoopInvariant() test.
Simplify IsLoopInvariant() test. Also rename it to IsDefinedOutOfTheLoop()
so there is no ambiguity for example whether a instruction after the loop counts
as a loop invariant. It's up to the caller to make the interpretation.
Change-Id: I999139032b0e4d815dd1e2276f2bd428cf558686
Diffstat (limited to 'compiler/optimizing/bounds_check_elimination.cc')
| -rw-r--r-- | compiler/optimizing/bounds_check_elimination.cc | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/compiler/optimizing/bounds_check_elimination.cc b/compiler/optimizing/bounds_check_elimination.cc index 7dbfd7c58e..4c3f66aa4f 100644 --- a/compiler/optimizing/bounds_check_elimination.cc +++ b/compiler/optimizing/bounds_check_elimination.cc @@ -1138,8 +1138,8 @@ class BCEVisitor : public HGraphVisitor { void VisitArrayGet(HArrayGet* array_get) OVERRIDE { if (!has_deoptimization_on_constant_subscripts_ && array_get->IsInLoop()) { HLoopInformation* loop = array_get->GetBlock()->GetLoopInformation(); - if (loop->IsLoopInvariant(array_get->InputAt(0), false) && - loop->IsLoopInvariant(array_get->InputAt(1), false)) { + if (loop->IsDefinedOutOfTheLoop(array_get->InputAt(0)) && + loop->IsDefinedOutOfTheLoop(array_get->InputAt(1))) { SideEffects loop_effects = side_effects_.GetLoopEffects(loop->GetHeader()); if (!array_get->GetSideEffects().MayDependOn(loop_effects)) { HoistToPreheaderOrDeoptBlock(loop, array_get); @@ -1349,7 +1349,7 @@ class BCEVisitor : public HGraphVisitor { * by handling the null check under the hood of the array length operation. */ bool CanHandleLength(HLoopInformation* loop, HInstruction* length, bool needs_taken_test) { - if (loop->IsLoopInvariant(length, false)) { + if (loop->IsDefinedOutOfTheLoop(length)) { return true; } else if (length->IsArrayLength() && length->GetBlock()->GetLoopInformation() == loop) { if (CanHandleNullCheck(loop, length->InputAt(0), needs_taken_test)) { @@ -1365,11 +1365,11 @@ class BCEVisitor : public HGraphVisitor { * by generating a deoptimization test. */ bool CanHandleNullCheck(HLoopInformation* loop, HInstruction* check, bool needs_taken_test) { - if (loop->IsLoopInvariant(check, false)) { + if (loop->IsDefinedOutOfTheLoop(check)) { return true; } else if (check->IsNullCheck() && check->GetBlock()->GetLoopInformation() == loop) { HInstruction* array = check->InputAt(0); - if (loop->IsLoopInvariant(array, false)) { + if (loop->IsDefinedOutOfTheLoop(array)) { // Generate: if (array == null) deoptimize; HBasicBlock* block = TransformLoopForDeoptimizationIfNeeded(loop, needs_taken_test); HInstruction* cond = |