/external/llvm/lib/Support/ |
ScaledNumber.cpp | 69 uint64_t Quotient = Dividend64 / Divisor; 72 // If Quotient needs to be shifted, leave the rounding to getAdjusted(). 73 if (Quotient > UINT32_MAX) 74 return getAdjusted<uint32_t>(Quotient, Shift); 77 return getRounded<uint32_t>(Quotient, Shift, Remainder >= getHalf(Divisor)); 103 uint64_t Quotient = Dividend / Divisor; 106 // Continue building the quotient with long division. 107 while (!(Quotient >> 63) && Dividend) { 113 // Get the next bit of Quotient. 114 Quotient <<= 1 [all...] |
APInt.cpp | [all...] |
/external/llvm/unittests/Transforms/Utils/ |
IntegerDivision.cpp | 49 Instruction* Quotient = dyn_cast<Instruction>(cast<User>(Ret)->getOperand(0)); 50 EXPECT_TRUE(Quotient && Quotient->getOpcode() == Instruction::Sub); 79 Instruction* Quotient = dyn_cast<Instruction>(cast<User>(Ret)->getOperand(0)); 80 EXPECT_TRUE(Quotient && Quotient->getOpcode() == Instruction::PHI); 170 Instruction* Quotient = dyn_cast<Instruction>(cast<User>(Ret)->getOperand(0)); 171 EXPECT_TRUE(Quotient && Quotient->getOpcode() == Instruction::Sub); 200 Instruction* Quotient = dyn_cast<Instruction>(cast<User>(Ret)->getOperand(0)) [all...] |
/external/llvm/lib/Transforms/Utils/ |
BypassSlowDivision.cpp | 39 PHINode *Quotient; 43 : Quotient(InQuotient), Remainder(InRemainder) {} 206 // Replace all uses of div instruction with quotient phi node 207 J->replaceAllUsesWith(Value.Quotient);
|
IntegerDivision.cpp | 82 // Remainder = Dividend - Quotient*Divisor 86 // ; %quotient = udiv i32 %dividend, %divisor 87 // ; %product = mul i32 %divisor, %quotient 89 Value *Quotient = Builder.CreateUDiv(Dividend, Divisor); 90 Value *Product = Builder.CreateMul(Divisor, Quotient); 93 if (Instruction *UDiv = dyn_cast<Instruction>(Quotient)) 99 /// Generate code to divide two signed integers. Returns the quotient, rounded 149 /// Returns the quotient, rounded towards 0. Builder's insert point should 455 Value *Quotient = generateSignedDivisionCode(Div->getOperand(0), 457 Div->replaceAllUsesWith(Quotient); [all...] |
/external/mesa3d/src/gallium/drivers/radeon/ |
AMDGPUISelLowering.cpp | 223 // Quotient = mulhu(Tmp0, Num) 224 SDValue Quotient = DAG.getNode(ISD::MULHU, DL, VT, Tmp0, Num); 226 // Num_S_Remainder = Quotient * Den 227 SDValue Num_S_Remainder = DAG.getNode(ISD::UMULO, DL, VT, Quotient, Den); 249 // Quotient_A_One = Quotient + 1 250 SDValue Quotient_A_One = DAG.getNode(ISD::ADD, DL, VT, Quotient, 253 // Quotient_S_One = Quotient - 1 254 SDValue Quotient_S_One = DAG.getNode(ISD::SUB, DL, VT, Quotient, 257 // Div = (Tmp1 == 0 ? Quotient : Quotient_A_One) 259 Quotient, Quotient_A_One, ISD::SETEQ) [all...] |
/external/llvm/lib/Transforms/InstCombine/ |
InstCombineMulDivRem.cpp | 92 /// \brief True if C2 is a multiple of C1. Quotient contains C2/C1. 93 static bool IsMultiple(const APInt &C1, const APInt &C2, APInt &Quotient, 100 APInt::sdivrem(C1, C2, Quotient, Remainder); 102 APInt::udivrem(C1, C2, Quotient, Remainder); 811 APInt Quotient(C1->getBitWidth(), /*Val=*/0ULL, IsSigned); 814 if (IsMultiple(*C2, *C1, Quotient, IsSigned)) { 816 I.getOpcode(), X, ConstantInt::get(X->getType(), Quotient)); 822 if (IsMultiple(*C1, *C2, Quotient, IsSigned)) { 824 Instruction::Mul, X, ConstantInt::get(X->getType(), Quotient)); 837 APInt Quotient(C1->getBitWidth(), /*Val=*/0ULL, IsSigned) [all...] |
InstructionCombining.cpp | [all...] |
/external/llvm/include/llvm/ADT/ |
APInt.h | 181 unsigned rhsWords, APInt *Quotient, APInt *Remainder); 938 /// quotient and remainder. This function does both operations in the same [all...] |
/external/llvm/lib/Analysis/ |
ScalarEvolution.cpp | 706 // Computes the Quotient and Remainder of the division of Numerator by 709 const SCEV *Denominator, const SCEV **Quotient, 718 *Quotient = D.One; 724 *Quotient = D.Zero; 732 *Quotient = Numerator; 734 divide(SE, *Quotient, Op, &Q, &R); 735 *Quotient = Q; 740 *Quotient = D.Zero; 750 *Quotient = D.Quotient; [all...] |
/external/llvm/lib/Target/R600/ |
AMDGPUISelLowering.cpp | [all...] |
/external/llvm/lib/Transforms/Scalar/ |
LoopStrengthReduce.cpp | [all...] |