summaryrefslogtreecommitdiff
path: root/include/llvm/Analysis/ScalarEvolutionExpressions.h
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2010-08-16 16:21:27 +0000
committerDan Gohman <gohman@apple.com>2010-08-16 16:21:27 +0000
commit2f199f9952b9dd62b5a0d0f4350b8fa780ebb9cc (patch)
tree35d1f182fde6e651cb4c5906cde67a1484f13e37 /include/llvm/Analysis/ScalarEvolutionExpressions.h
parentbb85409b510e18250c2345b57c050798a3b90213 (diff)
downloadllvm-2f199f9952b9dd62b5a0d0f4350b8fa780ebb9cc.tar.gz
llvm-2f199f9952b9dd62b5a0d0f4350b8fa780ebb9cc.tar.bz2
llvm-2f199f9952b9dd62b5a0d0f4350b8fa780ebb9cc.tar.xz
Move SCEVNAryExpr's virtual member functions out of line, and convert
them to iterators. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111140 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Analysis/ScalarEvolutionExpressions.h')
-rw-r--r--include/llvm/Analysis/ScalarEvolutionExpressions.h25
1 files changed, 3 insertions, 22 deletions
diff --git a/include/llvm/Analysis/ScalarEvolutionExpressions.h b/include/llvm/Analysis/ScalarEvolutionExpressions.h
index dca6272732..4baaa4506c 100644
--- a/include/llvm/Analysis/ScalarEvolutionExpressions.h
+++ b/include/llvm/Analysis/ScalarEvolutionExpressions.h
@@ -208,33 +208,14 @@ namespace llvm {
op_iterator op_begin() const { return Operands; }
op_iterator op_end() const { return Operands + NumOperands; }
- virtual bool isLoopInvariant(const Loop *L) const {
- for (unsigned i = 0, e = getNumOperands(); i != e; ++i)
- if (!getOperand(i)->isLoopInvariant(L)) return false;
- return true;
- }
+ virtual bool isLoopInvariant(const Loop *L) const;
// hasComputableLoopEvolution - N-ary expressions have computable loop
// evolutions iff they have at least one operand that varies with the loop,
// but that all varying operands are computable.
- virtual bool hasComputableLoopEvolution(const Loop *L) const {
- bool HasVarying = false;
- for (unsigned i = 0, e = getNumOperands(); i != e; ++i)
- if (!getOperand(i)->isLoopInvariant(L)) {
- if (getOperand(i)->hasComputableLoopEvolution(L))
- HasVarying = true;
- else
- return false;
- }
- return HasVarying;
- }
+ virtual bool hasComputableLoopEvolution(const Loop *L) const;
- virtual bool hasOperand(const SCEV *O) const {
- for (unsigned i = 0, e = getNumOperands(); i != e; ++i)
- if (O == getOperand(i) || getOperand(i)->hasOperand(O))
- return true;
- return false;
- }
+ virtual bool hasOperand(const SCEV *O) const;
bool dominates(BasicBlock *BB, DominatorTree *DT) const;