| /llvm-project-15.0.7/llvm/lib/Support/ |
| H A D | ScaledNumber.cpp | 60 assert(Divisor && "expected non-zero divisor"); in divide32() 69 uint64_t Quotient = Dividend64 / Divisor; in divide32() 70 uint64_t Remainder = Dividend64 % Divisor; in divide32() 83 assert(Divisor && "expected non-zero divisor"); in divide64() 87 if (int Zeros = countTrailingZeros(Divisor)) { in divide64() 89 Divisor >>= Zeros; in divide64() 93 if (Divisor == 1) in divide64() 103 uint64_t Quotient = Dividend / Divisor; in divide64() 104 Dividend %= Divisor; in divide64() 115 if (IsOverflow || Divisor <= Dividend) { in divide64() [all …]
|
| /llvm-project-15.0.7/llvm/include/llvm/Transforms/Utils/ |
| H A D | BypassSlowDivision.h | 33 AssertingVH<Value> Divisor; member 38 : SignedOp(InSignedOp), Dividend(InDividend), Divisor(InDivisor) {} in DivRemMapKey() 44 Val1.Divisor == Val2.Divisor; 59 static_cast<Value *>(Val.Divisor))) ^
|
| /llvm-project-15.0.7/llvm/lib/Transforms/Utils/ |
| H A D | BypassSlowDivision.cpp | 158 Value *Divisor = SlowDivOrRem->getOperand(1); in getReplacement() local 159 DivRemMapKey Key(isSignedOp(), Dividend, Divisor); in getReplacement() 269 Value *Divisor = SlowDivOrRem->getOperand(1); in createSlowBB() local 272 DivRemPair.Quotient = Builder.CreateSDiv(Dividend, Divisor); in createSlowBB() 275 DivRemPair.Quotient = Builder.CreateUDiv(Dividend, Divisor); in createSlowBB() 293 Value *Divisor = SlowDivOrRem->getOperand(1); in createFastBB() local 355 Value *Divisor = SlowDivOrRem->getOperand(1); in insertFastDivAndRem() local 363 ValueRange DivisorRange = getValueRange(Divisor, SetR); in insertFastDivAndRem() 386 if (isa<ConstantInt>(Divisor)) { in insertFastDivAndRem() 397 if (auto *BCI = dyn_cast<BitCastInst>(Divisor)) in insertFastDivAndRem() [all …]
|
| H A D | IntegerDivision.cpp | 32 static Value *generateSignedRemainderCode(Value *Dividend, Value *Divisor, in generateSignedRemainderCode() argument 57 Value *DivisorSign = Builder.CreateAShr(Divisor, Shift); in generateSignedRemainderCode() 59 Value *DvsXor = Builder.CreateXor(Divisor, DivisorSign); in generateSignedRemainderCode() 87 Value *Quotient = Builder.CreateUDiv(Dividend, Divisor); in generatedUnsignedRemainderCode() 88 Value *Product = Builder.CreateMul(Divisor, Quotient); in generatedUnsignedRemainderCode() 130 Value *Tmp1 = Builder.CreateAShr(Divisor, Shift); in generateSignedDivisionCode() 133 Value *Tmp3 = Builder.CreateXor(Tmp1, Divisor); in generateSignedDivisionCode() 250 Value *Ret0_1 = Builder.CreateICmpEQ(Divisor, Zero); in generateUnsignedDivisionCode() 253 Value *Tmp0 = Builder.CreateCall(CTLZ, {Divisor, True}); in generateUnsignedDivisionCode() 282 Value *Tmp4 = Builder.CreateAdd(Divisor, NegOne); in generateUnsignedDivisionCode() [all …]
|
| /llvm-project-15.0.7/polly/lib/Support/ |
| H A D | SCEVValidator.cpp | 370 ValidatorResult visitDivision(const SCEV *Dividend, const SCEV *Divisor, in visitDivision() argument 377 if (isa<SCEVConstant>(Divisor) && !Divisor->isZero()) in visitDivision() 386 ValidatorResult RHS = visit(Divisor); in visitDivision() 400 auto *Divisor = Expr->getRHS(); in visitUDivExpr() local 401 return visitDivision(Dividend, Divisor, Expr); in visitUDivExpr() 409 auto *Divisor = SE.getSCEV(SDiv->getOperand(1)); in visitSDivInstruction() local 410 return visitDivision(Dividend, Divisor, Expr, SDiv); in visitSDivInstruction() 417 auto *Divisor = SRem->getOperand(1); in visitSRemInstruction() local 418 auto *CI = dyn_cast<ConstantInt>(Divisor); in visitSRemInstruction() 565 auto *Divisor = SE.getSCEV(Inst->getOperand(0)); in follow() local [all …]
|
| H A D | SCEVAffinator.cpp | 482 auto *Divisor = Expr->getRHS(); in visitUDivExpr() local 483 assert(isa<SCEVConstant>(Divisor) && in visitUDivExpr() 487 auto DivisorPWAC = visit(Divisor); in visitUDivExpr() 489 if (SE.isKnownNegative(Divisor)) { in visitUDivExpr() 515 auto *Divisor = SDiv->getOperand(1); in visitSDivInstruction() local 516 auto *DivisorSCEV = SE.getSCEVAtScope(Divisor, Scope); in visitSDivInstruction() 532 auto *Divisor = SRem->getOperand(1); in visitSRemInstruction() local 533 auto *DivisorSCEV = SE.getSCEVAtScope(Divisor, Scope); in visitSRemInstruction() 535 assert(isa<ConstantInt>(Divisor) && in visitSRemInstruction()
|
| /llvm-project-15.0.7/llvm/include/llvm/Support/ |
| H A D | ScaledNumber.h | 138 std::pair<uint64_t, int16_t> divide64(uint64_t Dividend, uint64_t Divisor); 145 std::pair<uint32_t, int16_t> divide32(uint32_t Dividend, uint32_t Divisor); 153 std::pair<DigitsT, int16_t> getQuotient(DigitsT Dividend, DigitsT Divisor) { in getQuotient() argument 161 if (!Divisor) in getQuotient() 165 return divide64(Dividend, Divisor); in getQuotient() 166 return divide32(Dividend, Divisor); in getQuotient() 171 uint32_t Divisor) { in getQuotient32() argument 172 return getQuotient(Dividend, Divisor); in getQuotient32() 177 uint64_t Divisor) { in getQuotient64() argument 178 return getQuotient(Dividend, Divisor); in getQuotient64() [all …]
|
| /llvm-project-15.0.7/libcxx/include/__support/ibm/ |
| H A D | gettod_zos.h | 46 uint64_t Divisor = 1000000; in gettimeofdayMonotonic() local 47 asm(" dlgr %0,%2" : "+r"(DivPair0), "+r"(DivPair1) : "r"(Divisor) :); in gettimeofdayMonotonic()
|
| /llvm-project-15.0.7/llvm/lib/Transforms/Scalar/ |
| H A D | DivRemPairs.cpp | 57 Value *Divisor; in matchExpandedRem() local 62 m_c_Mul(m_CombineAnd(m_IDiv(m_Specific(Dividend), m_Value(Divisor)), in matchExpandedRem() 64 m_Deferred(Divisor)))) in matchExpandedRem() 70 M.Key.Divisor = Divisor; in matchExpandedRem()
|
| H A D | LICM.cpp | 917 auto Divisor = I.getOperand(1); in hoistRegion() local 918 auto One = llvm::ConstantFP::get(Divisor->getType(), 1.0); in hoistRegion() 919 auto ReciprocalDivisor = BinaryOperator::CreateFDiv(One, Divisor); in hoistRegion()
|
| /llvm-project-15.0.7/llvm/lib/CodeGen/ |
| H A D | TargetSchedule.cpp | 46 static unsigned gcd(unsigned Dividend, unsigned Divisor) { in gcd() argument 48 while (Divisor) { in gcd() 49 unsigned Rem = Dividend % Divisor; in gcd() 50 Dividend = Divisor; in gcd() 51 Divisor = Rem; in gcd()
|
| /llvm-project-15.0.7/clang/test/SemaTemplate/ |
| H A D | instantiate-static-var.cpp | 5 template<typename T, T Divisor> 8 …static const T value = 10 / Divisor; // expected-error{{in-class initializer for static data membe…
|
| /llvm-project-15.0.7/llvm/lib/ProfileData/ |
| H A D | GCOV.cpp | 532 static uint32_t branchDiv(uint64_t Numerator, uint64_t Divisor) { in branchDiv() argument 535 if (Numerator == Divisor) in branchDiv() 538 uint8_t Res = (Numerator * 100 + Divisor / 2) / Divisor; in branchDiv()
|
| /llvm-project-15.0.7/llvm/lib/Target/LoongArch/ |
| H A D | LoongArchISelLowering.cpp | 751 MachineOperand &Divisor = MI.getOperand(2); in insertDivByZeroTrap() local 755 .addReg(Divisor.getReg(), getKillRegState(Divisor.isKill())) in insertDivByZeroTrap() 764 Divisor.setIsKill(false); in insertDivByZeroTrap()
|
| /llvm-project-15.0.7/llvm/lib/CodeGen/SelectionDAG/ |
| H A D | TargetLowering.cpp | 5695 APInt Divisor = C->getAPIntValue(); in BuildExactSDIV() local 5698 Divisor.ashrInPlace(Shift); in BuildExactSDIV() 5703 APInt Factor = Divisor; in BuildExactSDIV() 5704 while ((t = Divisor * Factor) != 1) in BuildExactSDIV() 5809 const APInt &Divisor = C->getAPIntValue(); in BuildSDIV() local 5814 if (Divisor.isOne() || Divisor.isAllOnes()) { in BuildSDIV() 5955 const APInt& Divisor = C->getAPIntValue(); in BuildUDIV() local 5962 if (magics.IsAdd && !Divisor[0]) { in BuildUDIV() 5963 PreShift = Divisor.countTrailingZeros(); in BuildUDIV() 5971 if (!magics.IsAdd || Divisor.isOne()) { in BuildUDIV() [all …]
|
| /llvm-project-15.0.7/llvm/lib/Target/AArch64/ |
| H A D | AArch64ISelLowering.h | 1064 SDValue BuildSDIVPow2(SDNode *N, const APInt &Divisor, SelectionDAG &DAG, 1066 SDValue BuildSREMPow2(SDNode *N, const APInt &Divisor, SelectionDAG &DAG,
|
| H A D | AArch64TargetTransformInfo.cpp | 1319 APInt Divisor = SplatConstantInt->getValue(); in instCombineSVESDIV() local 1321 if (Divisor.isPowerOf2()) { in instCombineSVESDIV() 1322 Constant *DivisorLog2 = ConstantInt::get(Int32Ty, Divisor.logBase2()); in instCombineSVESDIV() 1327 if (Divisor.isNegatedPowerOf2()) { in instCombineSVESDIV() 1328 Divisor.negate(); in instCombineSVESDIV() 1329 Constant *DivisorLog2 = ConstantInt::get(Int32Ty, Divisor.logBase2()); in instCombineSVESDIV()
|
| /llvm-project-15.0.7/llvm/lib/Target/RISCV/ |
| H A D | RISCVISelLowering.h | 591 SDValue BuildSDIVPow2(SDNode *N, const APInt &Divisor, SelectionDAG &DAG,
|
| /llvm-project-15.0.7/llvm/lib/CodeGen/GlobalISel/ |
| H A D | CombinerHelper.cpp | 4803 const APInt &Divisor = CI->getValue(); in buildUDivUsingMul() local 4805 UnsignedDivisionByConstantInfo::get(Divisor); in buildUDivUsingMul() 4810 if (magics.IsAdd && !Divisor[0]) { in buildUDivUsingMul() 4811 PreShift = Divisor.countTrailingZeros(); in buildUDivUsingMul() 4814 UnsignedDivisionByConstantInfo::get(Divisor.lshr(PreShift), PreShift); in buildUDivUsingMul() 4819 if (!magics.IsAdd || Divisor.isOneValue()) { in buildUDivUsingMul() 4820 assert(magics.ShiftAmount < Divisor.getBitWidth() && in buildUDivUsingMul()
|
| /llvm-project-15.0.7/llvm/lib/Target/ARM/ |
| H A D | ARMISelLowering.h | 858 SDValue BuildSDIVPow2(SDNode *N, const APInt &Divisor, SelectionDAG &DAG,
|
| /llvm-project-15.0.7/llvm/lib/Target/PowerPC/ |
| H A D | PPCISelLowering.h | 890 SDValue BuildSDIVPow2(SDNode *N, const APInt &Divisor, SelectionDAG &DAG,
|
| /llvm-project-15.0.7/llvm/lib/Target/X86/ |
| H A D | X86ISelLowering.h | 1739 SDValue BuildSDIVPow2(SDNode *N, const APInt &Divisor, SelectionDAG &DAG,
|
| /llvm-project-15.0.7/llvm/include/llvm/CodeGen/ |
| H A D | TargetLowering.h | 4573 virtual SDValue BuildSDIVPow2(SDNode *N, const APInt &Divisor, 4581 virtual SDValue BuildSREMPow2(SDNode *N, const APInt &Divisor,
|
| /llvm-project-15.0.7/llvm/lib/Target/Mips/ |
| H A D | MipsISelLowering.cpp | 1270 MachineOperand &Divisor = MI.getOperand(2); in insertDivByZeroTrap() local 1273 .addReg(Divisor.getReg(), getKillRegState(Divisor.isKill())) in insertDivByZeroTrap() 1282 Divisor.setIsKill(false); in insertDivByZeroTrap()
|
| /llvm-project-15.0.7/llvm/lib/Analysis/ |
| H A D | DependenceAnalysis.cpp | 1658 const SCEVConstant *Divisor) { in isRemainderZero() argument 1660 const APInt &ConstDivisor = Divisor->getAPInt(); in isRemainderZero()
|