diff options
author | Chris Lattner <sabre@nondot.org> | 2005-08-09 23:36:33 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2005-08-09 23:36:33 +0000 |
commit | a0740fbcc735eb87d7fe5111d302e4b8245120b6 (patch) | |
tree | 9ab800dcac45a3b828f28a7dda9e96325fc5f507 /lib/Analysis/ScalarEvolution.cpp | |
parent | 27631a30eb1c5cb1c5190531b10a147f058d6ff1 (diff) |
implement two helper methods
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22736 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Analysis/ScalarEvolution.cpp')
-rw-r--r-- | lib/Analysis/ScalarEvolution.cpp | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/lib/Analysis/ScalarEvolution.cpp b/lib/Analysis/ScalarEvolution.cpp index 9c1beee042..1f798bc8b0 100644 --- a/lib/Analysis/ScalarEvolution.cpp +++ b/lib/Analysis/ScalarEvolution.cpp @@ -1095,6 +1095,20 @@ namespace { /// expression and create a new one. SCEVHandle getSCEV(Value *V); + /// hasSCEV - Return true if the SCEV for this value has already been + /// computed. + bool hasSCEV(Value *V) const { + return Scalars.count(V); + } + + /// setSCEV - Insert the specified SCEV into the map of current SCEVs for + /// the specified value. + void setSCEV(Value *V, const SCEVHandle &H) { + bool isNew = Scalars.insert(std::make_pair(V, H)).second; + assert(isNew && "This entry already existed!"); + } + + /// getSCEVAtScope - Compute the value of the specified expression within /// the indicated loop (which may be null to indicate in no loop). If the /// expression cannot be evaluated, return UnknownValue itself. @@ -2327,6 +2341,20 @@ SCEVHandle ScalarEvolution::getSCEV(Value *V) const { return ((ScalarEvolutionsImpl*)Impl)->getSCEV(V); } +/// hasSCEV - Return true if the SCEV for this value has already been +/// computed. +bool ScalarEvolution::hasSCEV(Value *V) const { + ((ScalarEvolutionsImpl*)Impl)->hasSCEV(V); +} + + +/// setSCEV - Insert the specified SCEV into the map of current SCEVs for +/// the specified value. +void ScalarEvolution::setSCEV(Value *V, const SCEVHandle &H) { + ((ScalarEvolutionsImpl*)Impl)->setSCEV(V, H); +} + + SCEVHandle ScalarEvolution::getIterationCount(const Loop *L) const { return ((ScalarEvolutionsImpl*)Impl)->getIterationCount(L); } |