summaryrefslogtreecommitdiff
path: root/compiler/optimizing/induction_var_analysis.h
diff options
context:
space:
mode:
author Aart Bik <ajcbik@google.com> 2015-12-09 14:39:48 -0800
committer Aart Bik <ajcbik@google.com> 2015-12-15 11:56:35 -0800
commit7d57d7f2f0328241ff07c43a93edadbc1a6697c6 (patch)
tree4a53eb14db06af2e8fc84bbebd48a462e868bfd4 /compiler/optimizing/induction_var_analysis.h
parent7d5a577c1f256a7703361afb071dcd4ecc7d275f (diff)
Various induction/range analysis improvements.
Rationale: this change list improves analysis of triangular loops both by changing loop order for induction analysis (enabling range analysis in inner loops) and by some symbolic improvements during range analysis; also, a mul/div bug has been fixed (with pass/fail unit tests); lastly this change list prepares some follow up optimizations. Change-Id: I84a03e848405009541c3fa8e3d3c2f430e100087
Diffstat (limited to 'compiler/optimizing/induction_var_analysis.h')
-rw-r--r--compiler/optimizing/induction_var_analysis.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/compiler/optimizing/induction_var_analysis.h b/compiler/optimizing/induction_var_analysis.h
index cf354093f2..84d5d82568 100644
--- a/compiler/optimizing/induction_var_analysis.h
+++ b/compiler/optimizing/induction_var_analysis.h
@@ -188,9 +188,11 @@ class HInductionVarAnalysis : public HOptimization {
InductionInfo* CreateConstant(int64_t value, Primitive::Type type);
InductionInfo* CreateSimplifiedInvariant(InductionOp op, InductionInfo* a, InductionInfo* b);
+ // Constants.
+ bool IsIntAndGet(InductionInfo* info, int64_t* value);
+
// Helpers.
static bool InductionEqual(InductionInfo* info1, InductionInfo* info2);
- static bool IsIntAndGet(InductionInfo* info, int64_t* value);
static std::string InductionToString(InductionInfo* info);
// TODO: fine tune the following data structures, only keep relevant data.