Lines Matching full:dividend

145 /// Reuses previously-computed dividend or remainder from the current BB if
147 /// perform the optimization and caches the resulting dividend and remainder.
155 Value *Dividend = SlowDivOrRem->getOperand(0); in getReplacement() local
157 DivRemMapKey Key(isSignedOp(), Dividend, Divisor); in getReplacement()
266 Value *Dividend = SlowDivOrRem->getOperand(0); in createSlowBB() local
270 DivRemPair.Quotient = Builder.CreateSDiv(Dividend, Divisor); in createSlowBB()
271 DivRemPair.Remainder = Builder.CreateSRem(Dividend, Divisor); in createSlowBB()
273 DivRemPair.Quotient = Builder.CreateUDiv(Dividend, Divisor); in createSlowBB()
274 DivRemPair.Remainder = Builder.CreateURem(Dividend, Divisor); in createSlowBB()
290 Value *Dividend = SlowDivOrRem->getOperand(0); in createFastBB() local
295 Builder.CreateCast(Instruction::Trunc, Dividend, BypassType); in createFastBB()
324 /// Creates a runtime check to test whether both the divisor and dividend fit
352 Value *Dividend = SlowDivOrRem->getOperand(0); in insertFastDivAndRem() local
356 ValueRange DividendRange = getValueRange(Dividend, SetL); in insertFastDivAndRem()
375 Value *TruncDividend = Builder.CreateTrunc(Dividend, BypassType); in insertFastDivAndRem()
404 // If the division is unsigned and Dividend is known to be short, then in insertFastDivAndRem()
406 // 1) Divisor is less or equal to Dividend, and the result can be computed in insertFastDivAndRem()
408 // 2) Divisor is greater than Dividend. In this case, no division is needed in insertFastDivAndRem()
409 // at all: The quotient is 0 and the remainder is equal to Dividend. in insertFastDivAndRem()
422 Long.Remainder = Dividend; in insertFastDivAndRem()
425 Value *CmpV = Builder.CreateICmpUGE(Dividend, Divisor); in insertFastDivAndRem()
439 Value *CmpV = insertOperandRuntimeCheck(DividendShort ? nullptr : Dividend, in insertFastDivAndRem()