summaryrefslogtreecommitdiffstats
path: root/llvm
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2008-06-18 16:37:11 +0000
committerDan Gohman <gohman@apple.com>2008-06-18 16:37:11 +0000
commit095ca74a7f2c99649edc1999156025daeba83df8 (patch)
tree2482893f4ecf2c3cbc0add2c33aff05c2a590992 /llvm
parentbe928e3b21858a97911277b5b034f6e7a5a1aefc (diff)
downloadbcm5719-llvm-095ca74a7f2c99649edc1999156025daeba83df8.tar.gz
bcm5719-llvm-095ca74a7f2c99649edc1999156025daeba83df8.zip
Move SCEVExpander::visitAddExpr out-of-line.
llvm-svn: 52464
Diffstat (limited to 'llvm')
-rw-r--r--llvm/include/llvm/Analysis/ScalarEvolutionExpander.h10
-rw-r--r--llvm/lib/Analysis/ScalarEvolutionExpander.cpp10
2 files changed, 11 insertions, 9 deletions
diff --git a/llvm/include/llvm/Analysis/ScalarEvolutionExpander.h b/llvm/include/llvm/Analysis/ScalarEvolutionExpander.h
index 9a69b241651..7f990d6a7ee 100644
--- a/llvm/include/llvm/Analysis/ScalarEvolutionExpander.h
+++ b/llvm/include/llvm/Analysis/ScalarEvolutionExpander.h
@@ -111,15 +111,7 @@ namespace llvm {
return CastInst::CreateSExtOrBitCast(V, S->getType(), "tmp.", InsertPt);
}
- Value *visitAddExpr(SCEVAddExpr *S) {
- Value *V = expand(S->getOperand(S->getNumOperands()-1));
-
- // Emit a bunch of add instructions
- for (int i = S->getNumOperands()-2; i >= 0; --i)
- V = InsertBinop(Instruction::Add, V, expand(S->getOperand(i)),
- InsertPt);
- return V;
- }
+ Value *visitAddExpr(SCEVAddExpr *S);
Value *visitMulExpr(SCEVMulExpr *S);
diff --git a/llvm/lib/Analysis/ScalarEvolutionExpander.cpp b/llvm/lib/Analysis/ScalarEvolutionExpander.cpp
index e7bc3f25d14..e32b21e623c 100644
--- a/llvm/lib/Analysis/ScalarEvolutionExpander.cpp
+++ b/llvm/lib/Analysis/ScalarEvolutionExpander.cpp
@@ -99,6 +99,16 @@ Value *SCEVExpander::InsertBinop(Instruction::BinaryOps Opcode, Value *LHS,
return BinaryOperator::Create(Opcode, LHS, RHS, "tmp", InsertPt);
}
+Value *SCEVExpander::visitAddExpr(SCEVAddExpr *S) {
+ Value *V = expand(S->getOperand(S->getNumOperands()-1));
+
+ // Emit a bunch of add instructions
+ for (int i = S->getNumOperands()-2; i >= 0; --i)
+ V = InsertBinop(Instruction::Add, V, expand(S->getOperand(i)),
+ InsertPt);
+ return V;
+}
+
Value *SCEVExpander::visitMulExpr(SCEVMulExpr *S) {
int FirstOp = 0; // Set if we should emit a subtract.
if (SCEVConstant *SC = dyn_cast<SCEVConstant>(S->getOperand(0)))
OpenPOWER on IntegriCloud