Lines Matching refs:Bump
594 // Compute Bump = C - Basis = (i' - i) * S.
595 // Common case 1: if (i' - i) is 1, Bump = S.
598 // Common case 2: if (i' - i) is -1, Bump = -S.
602 // Otherwise, Bump = (i' - i) * sext/trunc(S). Note that (i' - i) and S may
608 // If (i' - i) is a power of 2, Bump = sext/trunc(S) << log(i' - i).
613 // If (i - i') is a power of 2, Bump = -sext/trunc(S) << log(i' - i).
639 Value *Bump = emitBump(Basis, C, Builder, DL, BumpWithUglyGEP);
644 // C = Basis + Bump
646 if (match(Bump, m_Neg(m_Value(NegBump)))) {
647 // If Bump is a neg instruction, emit C = Basis - (-Bump).
649 // We only use the negative argument of Bump, and Bump itself may be
651 RecursivelyDeleteTriviallyDeadInstructions(Bump);
653 // It's tempting to preserve nsw on Bump and/or Reduced. However, it's
662 Reduced = Builder.CreateAdd(Basis.Ins, Bump);
671 // C = (char *)Basis + Bump
677 Builder.CreateInBoundsGEP(Builder.getInt8Ty(), Reduced, Bump);
679 Reduced = Builder.CreateGEP(Builder.getInt8Ty(), Reduced, Bump);
682 // C = gep Basis, Bump
684 Bump = Builder.CreateSExtOrTrunc(Bump, IntPtrTy);
688 Basis.Ins, Bump);
692 Basis.Ins, Bump);