| /openbsd-src/gnu/llvm/llvm/lib/Transforms/Utils/ |
| H A D | IntegerDivision.cpp | 407 bool llvm::expandDivision(BinaryOperator *Div) { in expandDivision() argument 408 assert((Div->getOpcode() == Instruction::SDiv || in expandDivision() 409 Div->getOpcode() == Instruction::UDiv) && in expandDivision() 412 IRBuilder<> Builder(Div); in expandDivision() 414 assert(!Div->getType()->isVectorTy() && "Div over vectors not supported"); in expandDivision() 417 if (Div->getOpcode() == Instruction::SDiv) { in expandDivision() 419 Value *Quotient = generateSignedDivisionCode(Div->getOperand(0), in expandDivision() 420 Div->getOperand(1), Builder); in expandDivision() 423 bool IsInsertPoint = Div->getIterator() == Builder.GetInsertPoint(); in expandDivision() 424 Div->replaceAllUsesWith(Quotient); in expandDivision() [all …]
|
| /openbsd-src/gnu/llvm/llvm/lib/Target/RISCV/MCTargetDesc/ |
| H A D | RISCVMatInt.cpp | 304 int64_t Div = 0; in generateInstSeq() local 309 Div = 3; in generateInstSeq() 312 Div = 5; in generateInstSeq() 315 Div = 9; in generateInstSeq() 319 if (Div > 0) { in generateInstSeq() 320 generateInstSeqImpl(Val / Div, ActiveFeatures, TmpSeq); in generateInstSeq() 328 Div = 0; in generateInstSeq() 330 Div = 3; in generateInstSeq() 333 Div = 5; in generateInstSeq() 336 Div = 9; in generateInstSeq() [all …]
|
| /openbsd-src/gnu/llvm/llvm/include/llvm/Transforms/Utils/ |
| H A D | IntegerDivision.h | 41 bool expandDivision(BinaryOperator* Div); 62 bool expandDivisionUpTo32Bits(BinaryOperator *Div); 68 bool expandDivisionUpTo64Bits(BinaryOperator *Div);
|
| /openbsd-src/gnu/llvm/llvm/lib/Transforms/Scalar/ |
| H A D | DivRemPairs.cpp | 59 Instruction *Div; in matchExpandedRem() local 64 m_Instruction(Div)), in matchExpandedRem() 69 M.Key.SignedOp = Div->getOpcode() == Instruction::SDiv; in matchExpandedRem()
|
| /openbsd-src/gnu/llvm/llvm/lib/Transforms/InstCombine/ |
| H A D | InstCombineMulDivRem.cpp | 351 BinaryOperator *Div = dyn_cast<BinaryOperator>(Op0); in visitMul() local 352 if (!Div || (Div->getOpcode() != Instruction::UDiv && in visitMul() 353 Div->getOpcode() != Instruction::SDiv)) { in visitMul() 355 Div = dyn_cast<BinaryOperator>(Op1); in visitMul() 358 if (Div && Div->hasOneUse() && in visitMul() 359 (Div->getOperand(1) == Y || Div->getOperand(1) == Neg) && in visitMul() 360 (Div->getOpcode() == Instruction::UDiv || in visitMul() 361 Div->getOpcode() == Instruction::SDiv)) { in visitMul() 362 Value *X = Div->getOperand(0), *DivOp1 = Div->getOperand(1); in visitMul() 365 if (Div->isExact()) { in visitMul() [all …]
|
| H A D | InstCombineCompares.cpp | 2446 BinaryOperator *Div, in foldICmpDivConstant() argument 2449 Value *X = Div->getOperand(0); in foldICmpDivConstant() 2450 Value *Y = Div->getOperand(1); in foldICmpDivConstant() 2451 Type *Ty = Div->getType(); in foldICmpDivConstant() 2452 bool DivIsSigned = Div->getOpcode() == Instruction::SDiv; in foldICmpDivConstant() 2462 if (Cmp.isEquality() && Div->hasOneUse() && C.isSignBitSet() && in foldICmpDivConstant() 2511 APInt RangeSize = Div->isExact() ? APInt(C2->getBitWidth(), 1) : *C2; in foldICmpDivConstant() 2552 if (Div->isExact()) in foldICmpDivConstant() 3940 Instruction *Div; in foldMultiplicationOverflowCheck() local 3946 m_Instruction(Div)), in foldMultiplicationOverflowCheck() [all …]
|
| H A D | InstCombineInternal.h | 601 Instruction *foldICmpDivConstant(ICmpInst &Cmp, BinaryOperator *Div,
|
| /openbsd-src/gnu/llvm/llvm/lib/Target/AArch64/ |
| H A D | AArch64SchedThunderX.td | 43 def THXT8XUnitFPMDS : ProcResource<1> { let BufferSize = 0; } // FP Mul/Div/Sqrt 70 // Div 161 // FP Mul, Div, Sqrt 238 // Div
|
| H A D | AArch64SchedA53.td | 48 def A53UnitFPMDS : ProcResource<1> { let BufferSize = 0; } // FP Mult/Div/Sqrt 72 // Div 134 // FP Mul, Div, Sqrt 195 // Div
|
| H A D | AArch64SchedA55.td | 56 def CortexA55UnitFPDIV : ProcResource<1> { let BufferSize = 0; } // FP Div/SQRT, 64/128 77 // Div 187 // FP Mul, Div, Sqrt. Div/Sqrt are not pipelined 252 // Div
|
| H A D | AArch64SchedTSV110.td | 67 // Integer Mul/MAC/Div 96 // FP Div, Sqrt
|
| /openbsd-src/gnu/llvm/llvm/lib/Target/SPIRV/ |
| H A D | SPIRVPrepareFunctions.cpp | 280 Value *Div = IRB.CreateUDiv(Mul, UMulFunc->getArg(0)); in buildUMulWithOverflowFunc() local 281 Value *Overflow = IRB.CreateICmpNE(UMulFunc->getArg(0), Div); in buildUMulWithOverflowFunc()
|
| /openbsd-src/gnu/llvm/clang/include/clang/AST/ |
| H A D | CommentHTMLTags.td | 20 def Div : Tag<"div">;
|
| H A D | StmtVisitor.h | 127 BINOP_FALLBACK(Mul) BINOP_FALLBACK(Div) BINOP_FALLBACK(Rem) in BINOP_FALLBACK()
|
| /openbsd-src/gnu/llvm/llvm/include/llvm/MC/ |
| H A D | MCExpr.h | 486 Div, ///< Signed division. enumerator 537 return create(Div, LHS, RHS, Ctx); in createDiv()
|
| /openbsd-src/gnu/llvm/llvm/lib/IR/ |
| H A D | ConstantFold.cpp | 2240 Constant *Div = in ConstantFoldGetElementPtr() local 2245 assert(NewIdxs[i] != nullptr && Div != nullptr && "Should have folded"); in ConstantFoldGetElementPtr() 2249 Div->getType()->getScalarSizeInBits()); in ConstantFoldGetElementPtr() 2254 Type *ExtendedTy = Type::getIntNTy(Div->getContext(), CommonExtendedWidth); in ConstantFoldGetElementPtr() 2265 if (!Div->getType()->isIntOrIntVectorTy(CommonExtendedWidth)) in ConstantFoldGetElementPtr() 2266 Div = ConstantExpr::getSExt(Div, ExtendedTy); in ConstantFoldGetElementPtr() 2268 NewIdxs[i - 1] = ConstantExpr::getAdd(PrevIdx, Div); in ConstantFoldGetElementPtr()
|
| /openbsd-src/gnu/llvm/llvm/lib/Target/AMDGPU/ |
| H A D | AMDGPUCodeGenPrepare.cpp | 990 Value *Div = Builder.CreateAdd(IQ, JQ); in expandDivRem24Impl() local 992 Value *Res = Div; in expandDivRem24Impl() 995 Value *Rem = Builder.CreateMul(Div, Den); in expandDivRem24Impl() 1308 for (BinaryOperator *Div : Div64ToExpand) { in visitBinaryOperator() 1309 expandDivRem64(*Div); in visitBinaryOperator()
|
| H A D | AMDGPUISelLowering.cpp | 1779 SDValue Div = DAG.getNode(ISD::ADD, DL, VT, iq, jq); in LowerDIVREM24() local 1782 SDValue Rem = DAG.getNode(ISD::MUL, DL, VT, Div, RHS); in LowerDIVREM24() 1789 Div = DAG.getNode(ISD::SIGN_EXTEND_INREG, DL, VT, Div, InRegSize); in LowerDIVREM24() 1793 Div = DAG.getNode(ISD::AND, DL, VT, Div, TruncMask); in LowerDIVREM24() 1797 return DAG.getMergeValues({ Div, Rem }, DL); in LowerDIVREM24() 1962 SDValue Div = DAG.getSelectCC(DL, C3, Zero, Sel1, Mulhi3, ISD::SETNE); in LowerUDIVREM64() local 1967 Results.push_back(Div); in LowerUDIVREM64() 2115 SDValue Div = DAG.getNode(ISD::UDIVREM, DL, DAG.getVTList(VT, VT), LHS, RHS); in LowerSDIVREM() local 2116 SDValue Rem = Div.getValue(1); in LowerSDIVREM() 2118 Div = DAG.getNode(ISD::XOR, DL, VT, Div, DSign); in LowerSDIVREM() [all …]
|
| /openbsd-src/gnu/llvm/llvm/lib/MC/ |
| H A D | MCExpr.cpp | 140 case MCBinaryExpr::Div: OS << '/'; break; in print() 933 case MCBinaryExpr::Div: in evaluateAsRelocatableImpl() 943 if (ABE->getOpcode() == MCBinaryExpr::Div) in evaluateAsRelocatableImpl()
|
| H A D | MCWin64EH.cpp | 265 const MCSymbol *RHS, int Div) { in GetSubDivExpr() argument 270 if (Div != 1) in GetSubDivExpr() 271 Expr = MCBinaryExpr::createDiv(Expr, MCConstantExpr::create(Div, Context), in GetSubDivExpr()
|
| /openbsd-src/gnu/llvm/llvm/lib/Analysis/ |
| H A D | LoopCacheAnalysis.cpp | 432 const SCEV *Div = SE.getUDivExactExpr(AccessFn, ElemSize); in delinearize() local 433 Subscripts.push_back(Div); in delinearize()
|
| H A D | BranchProbabilityInfo.cpp | 501 uint32_t Div = static_cast<uint32_t>( in calcMetadataWeights() local 503 BP[I] = BranchProbability::getRaw(Div); in calcMetadataWeights()
|
| /openbsd-src/gnu/llvm/llvm/lib/Target/ARM/ |
| H A D | ARMScheduleM4.td | 105 // Most FP instructions are single-cycle latency, except MAC's, Div's and Sqrt's.
|
| /openbsd-src/gnu/llvm/clang/lib/AST/Interp/ |
| H A D | Opcodes.td | 427 def Div : Opcode {
|
| /openbsd-src/gnu/llvm/clang/lib/CodeGen/ |
| H A D | CGExprComplex.cpp | 300 HANDLEBINOP(Div) in HANDLEBINOP() argument 973 HANDLE_BINOP(Div) in EmitPromoted()
|