summaryrefslogtreecommitdiff
path: root/compiler/optimizing/induction_var_range.cc
diff options
context:
space:
mode:
author Aart Bik <ajcbik@google.com> 2017-03-08 16:56:07 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2017-03-08 16:56:08 +0000
commit68948e01f56ad1996af77f4c0aab721940b0e18d (patch)
tree0091c82b4f3b239b6b28418062954b9a0583261d /compiler/optimizing/induction_var_range.cc
parent0c742e4a5c8d91df5d36204a6d77f1e77c7dbcbe (diff)
parent7adb688fe1213c6dcaf4d2adae3d8b7decf7c28a (diff)
Merge "Improve isunit computation, some tests edits needed for SIMD."
Diffstat (limited to 'compiler/optimizing/induction_var_range.cc')
-rw-r--r--compiler/optimizing/induction_var_range.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/compiler/optimizing/induction_var_range.cc b/compiler/optimizing/induction_var_range.cc
index 3dfe17647c..d6513c8e34 100644
--- a/compiler/optimizing/induction_var_range.cc
+++ b/compiler/optimizing/induction_var_range.cc
@@ -390,7 +390,8 @@ bool InductionVarRange::IsUnitStride(HInstruction* instruction,
HInductionVarAnalysis::InductionInfo* trip = nullptr;
if (HasInductionInfo(instruction, instruction, &loop, &info, &trip)) {
if (info->induction_class == HInductionVarAnalysis::kLinear &&
- info->op_b->operation == HInductionVarAnalysis::kFetch) {
+ info->op_b->operation == HInductionVarAnalysis::kFetch &&
+ !HInductionVarAnalysis::IsNarrowingLinear(info)) {
int64_t stride_value = 0;
if (IsConstant(info->op_a, kExact, &stride_value) && stride_value == 1) {
int64_t off_value = 0;