Home | History | Annotate | Download | only in Scalar

Lines Matching defs:Add

26 //   %i.next = add %i, 1
31 // the value of the register before the add and some using it after. In this
46 // TODO: When a negated register is used by an add (such as in a list of
49 // negation can be implemented by using a sub instead of an add. The
275 /// temporary register, but the offset itself can live in an add immediate
317 // Look at add operands.
318 if (const SCEVAddExpr *Add = dyn_cast<SCEVAddExpr>(S)) {
319 for (const SCEV *S : Add->operands())
515 /// Return true if the given add can be sign-extended without changing its
585 // Distribute the sdiv over add operands, if the add doesn't overflow.
586 if (const SCEVAddExpr *Add = dyn_cast<SCEVAddExpr>(LHS)) {
587 if (IgnoreSignificantBits || isAddSExtable(Add, SE)) {
589 for (const SCEV *S : Add->operands()) {
630 } else if (const SCEVAddExpr *Add = dyn_cast<SCEVAddExpr>(S)) {
631 SmallVector<const SCEV *, 8> NewOps(Add->op_begin(), Add->op_end());
656 } else if (const SCEVAddExpr *Add = dyn_cast<SCEVAddExpr>(S)) {
657 SmallVector<const SCEV *, 8> NewOps(Add->op_begin(), Add->op_end());
758 if (const SCEVAddExpr *Add = dyn_cast<SCEVAddExpr>(S)) {
759 for (const SCEV *S : Add->operands()) {
929 // Add the step value register, if it needs one.
1054 OS << ", plus " << NumBaseAdds << " base add"
1197 // TODO: Add a generic icmp too?
1260 /// If the given formula has not yet been inserted, add it to the list, and
1284 // Add the formula to the list.
1579 // The list of IV increments in program order. We typically add the head of a
1604 // Add an IVInc to the end of this chain.
1605 void add(const IVInc &X) { Incs.push_back(X); }
1854 if (Incr->getOpcode() != Instruction::Add
1873 /* Add new PHINode. */
1879 BinaryOperator::Create(Incr->getOpcode() == Instruction::Add ?
1971 // Add one to the backedge-taken count to get the trip count.
2355 // Add strides for mentioned loops.
2363 } else if (const SCEVAddExpr *Add = dyn_cast<SCEVAddExpr>(S)) {
2364 Worklist.append(Add->op_begin(), Add->op_end());
2466 // Skip over scaled operands (scMulExpr) to follow add operands as long as
2469 const SCEVAddExpr *Add = cast<SCEVAddExpr>(S);
2470 for (std::reverse_iterator<SCEVAddExpr::op_iterator> I(Add->op_end()),
2471 E(Add->op_begin()); I != E; ++I) {
2557 // be folded into an addressing mode or an add's immediate operand.
2592 /// Add this IV user to an existing chain or make it the head of a new chain.
2658 // Add this IV user to the end of the chain.
2659 IVChainVec[ChainIdx].add(IVInc(UserInst, IVOper, LastIncExpr));
2675 // transitively follow its user and only add leaf IV users to the set.
2827 /// Generate an add or subtract for each IVInc in a chain to materialize the IV
3048 /// If the given formula has not yet been inserted, add it to the list, and
3168 if (const SCEVAddExpr *Add = dyn_cast<SCEVAddExpr>(S)) {
3169 // Break out add operands.
3170 for (const SCEV *S : Add->operands()) {
3262 // Add the remaining pieces of the add back into the new formula.
3278 // Add J as its own register, or an unfolded immediate.
3370 // We can't add a symbolic offset if the address already contains one.
3390 // Add the offset to the base register.
3426 // TODO: For now, just add the min and max offset, because it usually isn't
3520 // If we make it here and it's legal, add it.
3533 // If this Formula already has a scaled register, we can't add another one.
3636 << " , add offset " << Imm;
3720 // Now iterate through the worklist and add new formulae.
4061 // Add the new offset to LUThatHas' offset list.
4463 // Build up a list of operands to add together to form the full base.
4555 // Just add the immediate values. These again are expected to be matched
4564 // Just add the immediate values.