Home
last modified time | relevance | path

Searched refs:Mul (Results 1 – 25 of 152) sorted by relevance

1234567

/freebsd-14.2/contrib/llvm-project/llvm/lib/Target/X86/
H A DX86PartialReduction.cpp75 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 DARMParallelDSP.cpp108 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 DMVELaneInterleavingPass.cpp146 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 DDivRemPairs.cpp333 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 DReassociate.cpp614 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 DStraightLineStrengthReduce.cpp137 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 DNaryReassociate.cpp303 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 DLowerMatrixIntrinsics.cpp568 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 DInstCombineMulDivRem.cpp147 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 DIVDescriptors.cpp45 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 DScalarEvolution.cpp462 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 DStackSafetyAnalysis.cpp170 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 DDelinearization.cpp131 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 DRISCVGatherScatterLowering.cpp141 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 DOperator.h112 I->getOpcode() == Instruction::Mul || in classof()
118 CE->getOpcode() == Instruction::Mul || in classof()
357 : public ConcreteOperator<OverflowingBinaryOperator, Instruction::Mul> {
H A DIntrinsicsHexagon.td390 // 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 DMips16ISelDAGToDAG.cpp48 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 DVPlanAnalysis.cpp71 case Instruction::Mul: in inferScalarTypeForRecipe()
137 case Instruction::Mul: in inferScalarTypeForRecipe()
H A DVPlanRecipes.cpp772 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 DSPIRVPrepareFunctions.cpp228 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 DTruncInstCombine.cpp59 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 DVLASizeChecker.cpp117 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 DComplexDeinterleavingPass.cpp561 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 DXCoreISelLowering.cpp626 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 DScalarEvolutionExpander.cpp559 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()

1234567