diff options
author | 2016-06-23 11:20:41 -0700 | |
---|---|---|
committer | 2016-06-29 09:34:28 -0700 | |
commit | 52be7e759acecc3841dca0ac1b703034d8cad60d (patch) | |
tree | c6ed5e85c33d8938dbbe2b7ca5ecf7e00292884c /compiler/optimizing/induction_var_analysis.h | |
parent | 4dd9d82d6c1260b3da908a0d1a22b7d209b87496 (diff) |
Improvements in induction range analysis.
Rationale:
Uses range analysis while determining whether trip-counts
are "safe", which improves analysis of triangular loops.
Also implements more effective triangular loop analysis
by evaluating induction information only once and using
a top level hint (instead of the "iterative refinement"
that was used earlier). Also fixes analysis of triangular
trip counts that may wrap-around. All with tests.
Test: see induction_var_range_test/530-checker-loops*
BUG=27151190
Change-Id: I1877c8ce0c9a52005900eb9dfdbb1918df100278
Diffstat (limited to 'compiler/optimizing/induction_var_analysis.h')
-rw-r--r-- | compiler/optimizing/induction_var_analysis.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/compiler/optimizing/induction_var_analysis.h b/compiler/optimizing/induction_var_analysis.h index f1965f07b2..7c74816c26 100644 --- a/compiler/optimizing/induction_var_analysis.h +++ b/compiler/optimizing/induction_var_analysis.h @@ -132,7 +132,7 @@ class HInductionVarAnalysis : public HOptimization { InductionInfo* a, InductionInfo* b, Primitive::Type type) { - DCHECK(a != nullptr); + DCHECK(a != nullptr && b != nullptr); return new (graph_->GetArena()) InductionInfo(kInvariant, op, a, b, nullptr, type); } |