diff options
| author | 2015-10-29 21:00:17 +0000 | |
|---|---|---|
| committer | 2015-10-29 21:00:17 +0000 | |
| commit | c65d1f3d26a47e2fce3c3f8872e7942fec23f9b9 (patch) | |
| tree | 1b81ca0d711ca0561e933563aee255b516a4191f /compiler/optimizing/induction_var_analysis.cc | |
| parent | 5ad27592e2317b4c7932885eff702099f7cbe0f1 (diff) | |
| parent | 73f1f3be46652d3f6df61b4234c366ebbf81274a (diff) | |
Merge "Move loop invariant utility to more general place."
Diffstat (limited to 'compiler/optimizing/induction_var_analysis.cc')
| -rw-r--r-- | compiler/optimizing/induction_var_analysis.cc | 15 | 
1 files changed, 1 insertions, 14 deletions
diff --git a/compiler/optimizing/induction_var_analysis.cc b/compiler/optimizing/induction_var_analysis.cc index b6220fc133..fdf8cc9c1f 100644 --- a/compiler/optimizing/induction_var_analysis.cc +++ b/compiler/optimizing/induction_var_analysis.cc @@ -20,19 +20,6 @@  namespace art {  /** - * Returns true if instruction is invariant within the given loop - * (instruction is not defined in same or more inner loop). - */ -static bool IsLoopInvariant(HLoopInformation* loop, HInstruction* instruction) { -  HLoopInformation* other_loop = instruction->GetBlock()->GetLoopInformation(); -  if (other_loop != loop && (other_loop == nullptr || !other_loop->IsIn(*loop))) { -    DCHECK(instruction->GetBlock()->Dominates(loop->GetHeader())); -    return true; -  } -  return false; -} - -/**   * Since graph traversal may enter a SCC at any position, an initial representation may be rotated,   * along dependences, viz. any of (a, b, c, d), (d, a, b, c)  (c, d, a, b), (b, c, d, a) assuming   * a chain of dependences (mutual independent items may occur in arbitrary order). For proper @@ -718,7 +705,7 @@ HInductionVarAnalysis::InductionInfo* HInductionVarAnalysis::LookupInfo(HLoopInf        return loop_it->second;      }    } -  if (IsLoopInvariant(loop, instruction)) { +  if (loop->IsLoopInvariant(instruction, true)) {      InductionInfo* info = CreateInvariantFetch(instruction);      AssignInfo(loop, instruction, info);      return info;  |