diff options
Diffstat (limited to 'compiler/optimizing/induction_var_range.h')
| -rw-r--r-- | compiler/optimizing/induction_var_range.h | 18 | 
1 files changed, 16 insertions, 2 deletions
diff --git a/compiler/optimizing/induction_var_range.h b/compiler/optimizing/induction_var_range.h index 0b980f596a3..906dc6bb7b9 100644 --- a/compiler/optimizing/induction_var_range.h +++ b/compiler/optimizing/induction_var_range.h @@ -161,9 +161,15 @@ class InductionVarRange {    }    /** -   * Checks if header logic of a loop terminates. Sets trip-count tc if known. +   * Checks if header logic of a loop terminates. If trip count is known sets 'trip_count' to its +   * value.     */ -  bool IsFinite(HLoopInformation* loop, /*out*/ int64_t* tc) const; +  bool IsFinite(HLoopInformation* loop, /*out*/ int64_t* trip_count) const; + +  /** +   * Checks if a trip count is known for the loop and sets 'trip_count' to its value in this case. +   */ +  bool HasKnownTripCount(HLoopInformation* loop, /*out*/ int64_t* trip_count) const;    /**     * Checks if the given instruction is a unit stride induction inside the closest enveloping @@ -194,6 +200,14 @@ class InductionVarRange {    };    /** +   * Checks if header logic of a loop terminates. If trip count is known (constant) sets +   * 'is_constant' to true and 'trip_count' to the trip count value. +   */ +  bool CheckForFiniteAndConstantProps(HLoopInformation* loop, +                                      /*out*/ bool* is_constant, +                                      /*out*/ int64_t* trip_count) const; + +  /**     * Returns true if exact or upper/lower bound on the given induction     * information is known as a 64-bit constant, which is returned in value.     */  | 
