Lines Matching defs:Dividend
32 static Value *generateSignedRemainderCode(Value *Dividend, Value *Divisor,
34 unsigned BitWidth = Dividend->getType()->getIntegerBitWidth();
49 Dividend = Builder.CreateFreeze(Dividend);
51 Value *DividendSign = Builder.CreateAShr(Dividend, Shift);
53 Value *DvdXor = Builder.CreateXor(Dividend, DividendSign);
73 static Value *generateUnsignedRemainderCode(Value *Dividend, Value *Divisor,
75 // Remainder = Dividend - Quotient*Divisor
82 Dividend = Builder.CreateFreeze(Dividend);
84 Value *Quotient = Builder.CreateUDiv(Dividend, Divisor);
86 Value *Remainder = Builder.CreateSub(Dividend, Product);
99 static Value *generateSignedDivisionCode(Value *Dividend, Value *Divisor,
103 unsigned BitWidth = Dividend->getType()->getIntegerBitWidth();
119 Dividend = Builder.CreateFreeze(Dividend);
121 Value *Tmp = Builder.CreateAShr(Dividend, Shift);
123 Value *Tmp2 = Builder.CreateXor(Tmp, Dividend);
141 static Value *generateUnsignedDivisionCode(Value *Dividend, Value *Divisor,
148 IntegerType *DivTy = cast<IntegerType>(Dividend->getType());
230 Dividend = Builder.CreateFreeze(Dividend);
232 Value *Ret0_2 = Builder.CreateICmpEQ(Dividend, Zero);
235 Value *Tmp1 = Builder.CreateCall(CTLZ, {Dividend, True});
240 Value *RetVal = Builder.CreateSelect(Ret0, Zero, Dividend);
253 Value *Q = Builder.CreateShl(Dividend, Tmp2);
262 Value *Tmp3 = Builder.CreateLShr(Dividend, SR_1);