Lines Matching defs:Add
279 /// SimplifyAddOperands - Sort and simplify a list of add operands. NumAddRecs
296 // If it returned an add, use the operands. Otherwise it simplified
299 if (const SCEVAddExpr *Add = dyn_cast<SCEVAddExpr>(Sum))
300 Ops.append(Add->op_begin(), Add->op_end());
307 /// SplitAddRecs - Flatten a list of add operands, moving addrec start values
327 if (const SCEVAddExpr *Add = dyn_cast<SCEVAddExpr>(Start)) {
329 Ops.append(Add->op_begin(), Add->op_end());
330 e += Add->getNumOperands();
336 // Add the addrecs onto the end of the list.
407 // The operand was not divisible, so add it to the list of operands
682 // be used instead of a negate and add.
699 // Collect all the add operands in a loop, along with their associated loops.
712 // Emit instructions to add all the operands. Hoist as much as possible
748 // Instead of doing a negate and add, just do a subtract.
754 // A simple add.
759 Sum = InsertBinop(Instruction::Add, Sum, W);
886 // Check for a simple Add/Sub or GEP of a loop invariant step.
887 case Instruction::Add:
964 // Ok, the add recurrence looks usable.
999 // negative, insert a sub instead of an add for the increment (unless it's a
1020 // Add a start value.
1026 // Create a step value and add it to the PHI. If IVIncInsertLoop is
1033 // If the PHI is a pointer, use a GEP, otherwise use an add or sub.
1218 // Just do a normal add. Pre-expand the operands to suppress folding.
1237 // Insert a unit add instruction right before the terminator
1239 Instruction *Add = BinaryOperator::CreateAdd(CanonicalIV, One,
1242 Add->setDebugLoc(HP->getTerminator()->getDebugLoc());
1243 rememberInstruction(Add);
1244 CanonicalIV->addIncoming(Add, HP);