| /freebsd-14.2/contrib/llvm-project/llvm/lib/Target/X86/ |
| H A D | X86PartialReduction.cpp | 75 Value *LHS = Mul->getOperand(0); in matchVPDPBUSDPattern() 76 Value *RHS = Mul->getOperand(1); in matchVPDPBUSDPattern() 117 auto *Mul = dyn_cast<BinaryOperator>(Op); in tryMAddReplacement() local 118 if (!Mul || Mul->getOpcode() != Instruction::Mul) in tryMAddReplacement() 121 Value *LHS = Mul->getOperand(0); in tryMAddReplacement() 122 Value *RHS = Mul->getOperand(1); in tryMAddReplacement() 169 if (BO->getParent() == Mul->getParent() && in tryMAddReplacement() 183 IRBuilder<> Builder(Mul); in tryMAddReplacement() 199 Value *NewMul = Builder.CreateMul(Mul->getOperand(0), Mul->getOperand(1)); in tryMAddReplacement() 210 Mul->replaceAllUsesWith(Concat); in tryMAddReplacement() [all …]
|
| /freebsd-14.2/contrib/llvm-project/llvm/lib/Target/ARM/ |
| H A D | ARMParallelDSP.cpp | 108 if (I->getOpcode() == Instruction::Mul) in InsertMuls() 124 InsertMul(Mul); in InsertMuls() 126 InsertMul(Mul); in InsertMuls() 184 for (auto &Mul : Muls) in dump() 185 LLVM_DEBUG(dbgs() << *Mul->Root << "\n" in dump() 186 << " " << *Mul->LHS << "\n" in dump() 462 case Instruction::Mul: { in Search() 675 if (R.getType() != Mul->getType()) { in InsertParallelMACs() 678 Mul = cast<Instruction>(Builder.CreateSExt(Mul, R.getRoot()->getType())); in InsertParallelMACs() 682 Acc = Mul; in InsertParallelMACs() [all …]
|
| H A D | MVELaneInterleavingPass.cpp | 146 cast<Instruction>(*E->user_begin())->getOpcode() != Instruction::Mul) { in isProfitableToInterleave() 236 case Instruction::Mul: in tryInterleave() 333 return I->getOpcode() == Instruction::Mul || in tryInterleave()
|
| /freebsd-14.2/contrib/llvm-project/llvm/lib/Transforms/Scalar/ |
| H A D | DivRemPairs.cpp | 333 Instruction *Mul = BinaryOperator::CreateMul(DivInst, Y); in optimizeDivRem() local 334 Instruction *Sub = BinaryOperator::CreateSub(X, Mul); in optimizeDivRem() 368 Mul->insertAfter(RemInst); in optimizeDivRem() 369 Sub->insertAfter(Mul); in optimizeDivRem() 395 Mul->setOperand(1, FrY); in optimizeDivRem()
|
| H A D | Reassociate.cpp | 614 for (User *U : Mul->users()) { in LinearizeExprTree() 1120 BinaryOperator *Mul = in ConvertShiftToMul() local 1123 Mul->takeName(Shl); in ConvertShiftToMul() 1126 Shl->replaceAllUsesWith(Mul); in ConvertShiftToMul() 1137 Mul->setHasNoSignedWrap(true); in ConvertShiftToMul() 1138 Mul->setHasNoUnsignedWrap(NUW); in ConvertShiftToMul() 1139 return Mul; in ConvertShiftToMul() 1608 RedoInsts.insert(Mul); in OptimizeAdd() 1612 return Mul; in OptimizeAdd() 1617 Ops.insert(Ops.begin(), ValueEntry(getRank(Mul), Mul)); in OptimizeAdd() [all …]
|
| H A D | StraightLineStrengthReduce.cpp | 137 Mul, // (B + i) * S enumerator 323 if (C.CandidateKind == Candidate::Mul) { in isSimplestForm() 384 case Instruction::Mul: in allocateCandidatesAndFindBasis() 445 allocateCandidatesAndFindBasis(Candidate::Mul, SE->getSCEV(B), Idx, RHS, I); in allocateCandidatesAndFindBasisForMul() 451 allocateCandidatesAndFindBasis(Candidate::Mul, SE->getSCEV(B), Idx, RHS, I); in allocateCandidatesAndFindBasisForMul() 455 allocateCandidatesAndFindBasis(Candidate::Mul, SE->getSCEV(LHS), Zero, RHS, in allocateCandidatesAndFindBasisForMul() 633 case Candidate::Mul: { in rewriteCandidateWithBasis()
|
| H A D | NaryReassociate.cpp | 303 case Instruction::Mul: in tryReassociate() 516 case Instruction::Mul: in tryReassociatedBinaryOp() 531 case Instruction::Mul: in matchTernaryOp() 545 case Instruction::Mul: in getBinarySCEV()
|
| H A D | LowerMatrixIntrinsics.cpp | 568 case Instruction::Mul: in isUniformShape() 831 auto *Result = cast<Instruction>(Mul); in sinkTranspose() 1279 Value *Mul = Builder.CreateFMul(A, B); in createMulAdd() local 1280 return Builder.CreateFAdd(Sum, Mul); in createMulAdd() 1284 Value *Mul = Builder.CreateMul(A, B); in createMulAdd() local 1285 return Builder.CreateAdd(Sum, Mul); in createMulAdd() 1398 int MulOpCode = IsIntVec ? Instruction::Mul : Instruction::FMul; in lowerDotProduct() 1447 Value *Mul = in lowerDotProduct() local 1452 Result = Builder.CreateAddReduce(Mul); in lowerDotProduct() 1457 Mul); in lowerDotProduct() [all …]
|
| /freebsd-14.2/contrib/llvm-project/llvm/lib/Transforms/InstCombine/ |
| H A D | InstCombineMulDivRem.cpp | 147 Value *X = Mul.getOperand(0), *Y = Mul.getOperand(1); in foldMulShl1() 151 const bool HasNSW = Mul.hasNoSignedWrap(); in foldMulShl1() 152 const bool HasNUW = Mul.hasNoUnsignedWrap(); in foldMulShl1() 233 if (HasNUW && Mul->hasNoUnsignedWrap()) in visitMul() 1083 auto *Mul = BinaryOperator::Create(Instruction::Mul, X, in commonIDivTransforms() local 1088 return Mul; in commonIDivTransforms() 1109 auto *Mul = BinaryOperator::Create(Instruction::Mul, X, in commonIDivTransforms() local 1114 return Mul; in commonIDivTransforms() 1209 if (!IsSigned && Mul->hasNoUnsignedWrap()) in commonIDivTransforms() 1211 else if (IsSigned && Mul->hasNoSignedWrap()) in commonIDivTransforms() [all …]
|
| /freebsd-14.2/contrib/llvm-project/llvm/lib/Analysis/ |
| H A D | IVDescriptors.cpp | 45 case RecurKind::Mul: in isIntegerRecurrenceKind() 779 case Instruction::Mul: in isRecurrenceInstr() 780 return InstDesc(Kind == RecurKind::Mul, I); in isRecurrenceInstr() 797 Kind == RecurKind::Add || Kind == RecurKind::Mul) in isRecurrenceInstr() 857 if (AddReductionVar(Phi, RecurKind::Mul, TheLoop, FMF, RedDes, DB, AC, DT, in isReductionPHI() 1046 case RecurKind::Mul: in getRecurrenceIdentity() 1101 case RecurKind::Mul: in getOpcode() 1102 return Instruction::Mul; in getOpcode()
|
| H A D | ScalarEvolution.cpp | 462 if (!Mul) return false; in isNonConstantNegative() 2256 if (Mul && isa<SCEVConstant>(Mul->getOperand(0))) { in CollectAddOperandsWithScales() 2312 case Instruction::Mul: in willNotOverflow() 2584 return Mul; in getAddExpr() 2585 Ops[i] = Mul; in getAddExpr() 2605 const auto *LastOp = Mul->getOperand(Mul->getNumOperands() - 1); in getAddExpr() 2700 if (Mul && Mul->getNumOperands() == 2 && in getAddExpr() 3599 if (!Mul || !Mul->hasNoUnsignedWrap()) in getUDivExactExpr() 3626 if (!Mul) in getUDivExactExpr() 14887 if (Mul == nullptr) in matchURem() [all …]
|
| H A D | StackSafetyAnalysis.cpp | 170 APInt Mul = C->getValue(); in getStaticAllocaSizeRange() local 171 if (Mul.isNonPositive()) in getStaticAllocaSizeRange() 173 Mul = Mul.sextOrTrunc(PointerSize); in getStaticAllocaSizeRange() 174 APSize = APSize.smul_ov(Mul, Overflow); in getStaticAllocaSizeRange()
|
| H A D | Delinearization.cpp | 131 if (auto *Mul = dyn_cast<SCEVMulExpr>(S)) { in follow() local 134 for (const auto *Op : Mul->operands()) { in follow()
|
| /freebsd-14.2/contrib/llvm-project/llvm/lib/Target/RISCV/ |
| H A D | RISCVGatherScatterLowering.cpp | 141 BO->getOpcode() != Instruction::Mul)) in matchStridedStart() 178 case Instruction::Mul: in matchStridedStart() 260 case Instruction::Mul: in matchStridedRecurrence() 313 case Instruction::Mul: { in matchStridedRecurrence()
|
| /freebsd-14.2/contrib/llvm-project/llvm/include/llvm/IR/ |
| H A D | Operator.h | 112 I->getOpcode() == Instruction::Mul || in classof() 118 CE->getOpcode() == Instruction::Mul || in classof() 357 : public ConcreteOperator<OverflowingBinaryOperator, Instruction::Mul> {
|
| H A D | IntrinsicsHexagon.td | 390 // V6_vmpyss_parts(Vu,Vv) = (MulHS(Vu,Vv), Mul(Vu,Vv)) 391 // V6_vmpyuu_parts(Vu,Vv) = (MulHU(Vu,Vv), Mul(Vu,Vv)) 392 // V6_vmpyus_parts(Vu,Vv) = (MulHUS(Vu,Vv), Mul(Vu,Vv))
|
| /freebsd-14.2/contrib/llvm-project/llvm/lib/Target/Mips/ |
| H A D | Mips16ISelDAGToDAG.cpp | 48 SDNode *Mul = CurDAG->getMachineNode(Opc, DL, MVT::Glue, N->getOperand(0), in selectMULT() local 50 SDValue InGlue = SDValue(Mul, 0); in selectMULT()
|
| /freebsd-14.2/contrib/llvm-project/llvm/lib/Transforms/Vectorize/ |
| H A D | VPlanAnalysis.cpp | 71 case Instruction::Mul: in inferScalarTypeForRecipe() 137 case Instruction::Mul: in inferScalarTypeForRecipe()
|
| H A D | VPlanRecipes.cpp | 772 case Instruction::Mul: in execute() 1009 MulOp = Instruction::Mul; in execute() 1023 Value *Mul = Builder.CreateBinOp(MulOp, Step, RuntimeVF); in execute() local 1030 Value *SplatVF = isa<Constant>(Mul) in execute() 1031 ? ConstantVector::getSplat(State.VF, cast<Constant>(Mul)) in execute() 1032 : Builder.CreateVectorSplat(State.VF, Mul); in execute() 1136 MulOp = Instruction::Mul; in execute() 1176 auto *Mul = Builder.CreateBinOp(MulOp, InitVec, SplatStep); in execute() local 1177 auto *Add = Builder.CreateBinOp(AddOp, SplatIV, Mul); in execute() 1195 auto *Mul = Builder.CreateBinOp(MulOp, StartIdx, Step); in execute() local [all …]
|
| /freebsd-14.2/contrib/llvm-project/llvm/lib/Target/SPIRV/ |
| H A D | SPIRVPrepareFunctions.cpp | 228 Value *Mul = IRB.CreateNUWMul(UMulFunc->getArg(0), UMulFunc->getArg(1)); in buildUMulWithOverflowFunc() local 229 Value *Div = IRB.CreateUDiv(Mul, UMulFunc->getArg(0)); in buildUMulWithOverflowFunc() 235 Value *Agg = IRB.CreateInsertValue(PoisonValue::get(StructTy), Mul, {0}); in buildUMulWithOverflowFunc()
|
| /freebsd-14.2/contrib/llvm-project/llvm/lib/Transforms/AggressiveInstCombine/ |
| H A D | TruncInstCombine.cpp | 59 case Instruction::Mul: in getRelevantOperands() 138 case Instruction::Mul: in buildTruncExpressionGraph() 428 case Instruction::Mul: in ReduceExpressionGraph()
|
| /freebsd-14.2/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/ |
| H A D | VLASizeChecker.cpp | 117 SVal Mul = SVB.evalBinOpNN(State, BO_Mul, ArrSize, IndexLength, SizeTy); in checkVLA() local 118 if (auto MulNonLoc = Mul.getAs<NonLoc>()) in checkVLA()
|
| /freebsd-14.2/contrib/llvm-project/llvm/lib/CodeGen/ |
| H A D | ComplexDeinterleavingPass.cpp | 561 Real->getOpcode() != Instruction::Mul) || in identifyNodeWithImplicitAdd() 563 Imag->getOpcode() != Instruction::Mul)) { in identifyNodeWithImplicitAdd() 844 case Instruction::Mul: in isInstructionPotentiallySymmetric() 1033 case Instruction::Mul: { in identifyReassocNodes() 1208 for (auto *Mul : {&RealMuls[PMI.RealIdx], &RealMuls[PMI.RealIdx]}) in identifyMultiplications() 1209 dbgs().indent(4) << (Mul->IsPositive ? "+" : "-") << *Mul->Multiplier in identifyMultiplications() 1210 << " multiplied by " << *Mul->Multiplicand << "\n"; in identifyMultiplications() 1907 case Instruction::Mul: in replaceSymmetricNode()
|
| /freebsd-14.2/contrib/llvm-project/llvm/lib/Target/XCore/ |
| H A D | XCoreISelLowering.cpp | 626 SDValue Mul; in TryExpandADDWithMul() local 629 Mul = N->getOperand(0); in TryExpandADDWithMul() 632 Mul = N->getOperand(1); in TryExpandADDWithMul() 640 Mul.getOperand(0), DAG.getConstant(0, dl, MVT::i32)); in TryExpandADDWithMul() 642 Mul.getOperand(1), DAG.getConstant(0, dl, MVT::i32)); in TryExpandADDWithMul() 648 unsigned LHSSB = DAG.ComputeNumSignBits(Mul.getOperand(0)); in TryExpandADDWithMul() 649 unsigned RHSSB = DAG.ComputeNumSignBits(Mul.getOperand(1)); in TryExpandADDWithMul() 650 if (DAG.MaskedValueIsZero(Mul.getOperand(0), HighMask) && in TryExpandADDWithMul() 651 DAG.MaskedValueIsZero(Mul.getOperand(1), HighMask)) { in TryExpandADDWithMul() 669 Mul.getOperand(0), DAG.getConstant(1, dl, MVT::i32)); in TryExpandADDWithMul() [all …]
|
| /freebsd-14.2/contrib/llvm-project/llvm/lib/Transforms/Utils/ |
| H A D | ScalarEvolutionExpander.cpp | 559 P = InsertBinop(Instruction::Mul, P, P, SCEV::FlagAnyWrap, in visitMulExpr() 562 Result = Result ? InsertBinop(Instruction::Mul, Result, P, in visitMulExpr() 599 Prod = InsertBinop(Instruction::Mul, Prod, W, S->getNoWrapFlags(), in visitMulExpr() 1787 Cost = ArithCost(Instruction::Mul, S->getNumOperands() - 1); in costAndCollectOperands() 1839 ArithCost(Instruction::Mul, NumNonZeroDegreeNonOneTerms); in costAndCollectOperands() 2054 CallInst *Mul = in generateOverflowCheck() local 2056 MulV = Builder.CreateExtractValue(Mul, 0, "mul.result"); in generateOverflowCheck() 2057 OfMul = Builder.CreateExtractValue(Mul, 1, "mul.overflow"); in generateOverflowCheck()
|