Changes in directory llvm/lib/Analysis:
ScalarEvolutionExpander.cpp updated: 1.18 -> 1.19 --- Log message: Fold a binary operator with constant operands when expanding code for a SCEV. --- Diffs of the changes: (+5 -0) ScalarEvolutionExpander.cpp | 5 +++++ 1 files changed, 5 insertions(+) Index: llvm/lib/Analysis/ScalarEvolutionExpander.cpp diff -u llvm/lib/Analysis/ScalarEvolutionExpander.cpp:1.18 llvm/lib/Analysis/ScalarEvolutionExpander.cpp:1.19 --- llvm/lib/Analysis/ScalarEvolutionExpander.cpp:1.18 Fri Jun 15 09:38:12 2007 +++ llvm/lib/Analysis/ScalarEvolutionExpander.cpp Fri Jun 15 14:21:55 2007 @@ -72,6 +72,11 @@ /// of work to avoid inserting an obviously redundant operation. Value *SCEVExpander::InsertBinop(Instruction::BinaryOps Opcode, Value *LHS, Value *RHS, Instruction *&InsertPt) { + // Fold a binop with constant operands. + if (Constant *CLHS = dyn_cast<Constant>(LHS)) + if (Constant *CRHS = dyn_cast<Constant>(RHS)) + return ConstantExpr::get(Opcode, CLHS, CRHS); + // Do a quick scan to see if we have this binop nearby. If so, reuse it. unsigned ScanLimit = 6; for (BasicBlock::iterator IP = InsertPt, E = InsertPt->getParent()->begin(); _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits