HomeSort by: relevance | last modified time | path
    Searched defs:Mul (Results 1 - 25 of 33) sorted by relevancy

1 2

  /src/external/apache2/llvm/dist/clang/lib/AST/Interp/
Interp.h 97 // Add, Sub, Mul
148 bool Mul(InterpState &S, CodePtr OpPC) {
152 return AddSubMulHelper<T, T::mul, std::multiplies>(S, OpPC, Bits, LHS, RHS);
  /src/external/apache2/llvm/dist/llvm/lib/Target/Mips/
Mips16ISelDAGToDAG.cpp 48 SDNode *Mul = CurDAG->getMachineNode(Opc, DL, MVT::Glue, N->getOperand(0),
50 SDValue InFlag = SDValue(Mul, 0);
194 /// Mul with two results
MipsInstructionSelector.cpp 301 MachineInstr *Mul = BuildMI(MBB, I, I.getDebugLoc(), TII.get(Mips::MUL))
305 if (!constrainSelectedInstRegOperands(*Mul, TII, TRI, RBI))
307 Mul->getOperand(3).setIsDead(true);
308 Mul->getOperand(4).setIsDead(true);
  /src/external/apache2/llvm/dist/llvm/lib/Transforms/Scalar/
DivRemPairs.cpp 270 Instruction *Mul = BinaryOperator::CreateMul(DivInst, Y);
271 Instruction *Sub = BinaryOperator::CreateSub(X, Mul);
282 // %mul = mul %div, %y
283 // %rem = sub %x, %mul
285 // If the division dominates, it's already in the right place. The mul+sub
297 // %mul = mul %div, %y
298 // %rem = sub %x, %mul
305 Mul->insertAfter(RemInst)
    [all...]
StraightLineStrengthReduce.cpp 138 Mul, // (B + i) * S
205 // Allocate candidates and find bases for Mul instructions.
328 if (C.CandidateKind == Candidate::Mul) {
389 case Instruction::Mul:
450 allocateCandidatesAndFindBasis(Candidate::Mul, SE->getSCEV(B), Idx, RHS, I);
456 allocateCandidatesAndFindBasis(Candidate::Mul, SE->getSCEV(B), Idx, RHS, I);
460 allocateCandidatesAndFindBasis(Candidate::Mul, SE->getSCEV(LHS), Zero, RHS,
472 assert(I->getNumOperands() == 2 && "isn't I a mul?");
654 case Candidate::Mul: {
Reassociate.cpp 342 assert((Opcode == Instruction::Mul || Opcode == Instruction::FMul) &&
584 if ((Opcode == Instruction::Mul && match(Tmp, m_Neg(m_Value()))) ||
980 // or subtract or mul or if this is only used by one of the above.
983 for (auto Op : {Instruction::Add, Instruction::Sub, Instruction::Mul,
1077 BinaryOperator *Mul =
1080 Mul->takeName(Shl);
1082 // Everyone now refers to the mul instruction.
1083 Shl->replaceAllUsesWith(Mul);
1084 Mul->setDebugLoc(Shl->getDebugLoc());
1087 // nuw nsw shl into a nuw nsw mul. However, nsw in isolation requires specia
    [all...]
LowerMatrixIntrinsics.cpp 490 case Instruction::Mul:
986 Value *Mul = Builder.CreateFMul(A, B);
987 return Builder.CreateFAdd(Sum, Mul);
991 Value *Mul = Builder.CreateMul(A, B);
992 return Builder.CreateAdd(Sum, Mul);
1543 case Instruction::Mul:
  /src/external/apache2/llvm/dist/clang/lib/StaticAnalyzer/Checkers/
VLASizeChecker.cpp 117 SVal Mul = SVB.evalBinOpNN(State, BO_Mul, ArrSize, IndexLength, SizeTy);
118 if (auto MulNonLoc = Mul.getAs<NonLoc>())
  /src/external/apache2/llvm/dist/llvm/include/llvm/Analysis/
IVDescriptors.h 40 Mul, ///< Product of integers.
  /src/external/apache2/llvm/dist/llvm/lib/Analysis/
ScalarEvolution.cpp 426 const SCEVMulExpr *Mul = dyn_cast<SCEVMulExpr>(this);
427 if (!Mul) return false;
430 const SCEVConstant *SC = dyn_cast<SCEVConstant>(Mul->getOperand(0));
2196 const SCEVMulExpr *Mul = dyn_cast<SCEVMulExpr>(Ops[i]);
2197 if (Mul && isa<SCEVConstant>(Mul->getOperand(0))) {
2199 Scale * cast<SCEVConstant>(Mul->getOperand(0))->getAPInt();
2200 if (Mul->getNumOperands() == 2 && isa<SCEVAddExpr>(Mul->getOperand(1))) {
2202 const SCEVAddExpr *Add = cast<SCEVAddExpr>(Mul->getOperand(1))
    [all...]
StackSafetyAnalysis.cpp 162 APInt Mul = C->getValue();
163 if (Mul.isNonPositive())
165 Mul = Mul.sextOrTrunc(PointerSize);
166 APSize = APSize.smul_ov(Mul, Overflow);
BranchProbabilityInfo.cpp 438 uint64_t Mul = static_cast<uint64_t>(NewReachableSum.getNumerator()) *
441 divideNearest(Mul, OldReachableSum.getNumerator()));
InstructionSimplify.cpp 864 /// Given operands for a Mul, see if we can fold the result.
868 if (Constant *C = foldOrCommuteConstant(Instruction::Mul, Op0, Op1, Q))
888 // i1 mul -> and.
894 if (Value *V = SimplifyAssociativeBinOp(Instruction::Mul, Op0, Op1, Q,
898 // Mul distributes over Add. Try some generic simplifications based on this.
899 if (Value *V = expandCommutativeBinOp(Instruction::Mul, Op0, Op1,
906 if (Value *V = ThreadBinOpOverSelect(Instruction::Mul, Op0, Op1, Q,
913 if (Value *V = ThreadBinOpOverPHI(Instruction::Mul, Op0, Op1, Q,
1058 auto *Mul = cast<OverflowingBinaryOperator>(Op0);
1059 // If the Mul does not overflow, then we are good to go
    [all...]
  /src/external/apache2/llvm/dist/llvm/lib/Target/AVR/
AVRISelDAGToDAG.cpp 479 SDNode *Mul = CurDAG->getMachineNode(MachineOp, DL, MVT::Glue, Lhs, Rhs);
481 SDValue InGlue = SDValue(Mul, 0);
  /src/external/apache2/llvm/dist/llvm/lib/CodeGen/GlobalISel/
Utils.cpp 754 unsigned Mul = OrigSize * TargetSize;
756 return Mul / GCDSize;
776 int Mul = OrigTy.getNumElements() * TargetTy.getNumElements();
777 return LLT::vector(Mul / GCDElts, OrigTy.getElementType());
  /src/external/apache2/llvm/dist/llvm/lib/CodeGen/
InterleavedLoadCombinePass.cpp 123 /// addition (see Proof(1) in Polynomial::mul). Further, both operations
169 Mul,
253 Polynomial &mul(const APInt &C) { function in class:__anon1885::Polynomial
325 pushBOperation(Mul, C);
472 return mul(APInt(C.getBitWidth(), 0));
590 case Mul:
591 OS << "Mul ";
1024 Result.mul(APInt(PointerBits, ResultSize));
  /src/external/apache2/llvm/dist/llvm/lib/Target/ARM/
ARMParallelDSP.cpp 100 /// Create MulCandidates, each rooted at a Mul instruction, that is a part
106 if (I->getOpcode() == Instruction::Mul)
109 if (I->getOpcode() == Instruction::Mul)
124 if (auto *Mul = GetMulOperand(Add->getOperand(0)))
125 InsertMul(Mul);
126 if (auto *Mul = GetMulOperand(Add->getOperand(1)))
127 InsertMul(Mul);
155 /// Return true if enough mul operations are found that can be executed in
172 /// Return the MulCandidate, rooted at mul instruction, that comprise the
176 /// Return the MulCandidate, rooted at mul instructions, that have bee
    [all...]
  /src/external/apache2/llvm/dist/llvm/lib/Transforms/InstCombine/
InstCombineMulDivRem.cpp 9 // This file implements the visit functions for mul, fmul, sdiv, udiv, fdiv,
107 // mul (select Cond, 1, -1), OtherOp --> select Cond, OtherOp, -OtherOp
108 // mul OtherOp, (select Cond, 1, -1) --> select Cond, OtherOp, -OtherOp
113 // mul (select Cond, -1, 1), OtherOp --> select Cond, -OtherOp, OtherOp
114 // mul OtherOp, (select Cond, -1, 1) --> select Cond, -OtherOp, OtherOp
177 BinaryOperator *Mul = cast<BinaryOperator>(I.getOperand(0));
179 if (I.hasNoUnsignedWrap() && Mul->hasNoUnsignedWrap())
181 if (I.hasNoSignedWrap() && Mul->hasNoSignedWrap() &&
219 // Simplify mul instructions with a constant RHS.
225 Value *Mul = Builder.CreateMul(C1, Op1)
    [all...]
InstCombineAndOrXor.cpp 1747 // Add/mul commute the constant to RHS; sub with constant RHS becomes add.
1915 case Instruction::Mul:
2931 Value *Mul, *Ov, *MulIsNotZero, *UMulWithOv;
2942 m_Value(Mul)),
2945 (Ov->hasOneUse() || (MulIsNotZero->hasOneUse() && Mul->hasOneUse())) &&
InstCombineCalls.cpp 1373 Value *Mul = Builder.CreateFMul(II->getArgOperand(0),
1375 Value *Add = Builder.CreateFAdd(Mul, II->getArgOperand(2));
1532 // Handle mul by zero first:
1553 // Handle mul by one:
InstCombineCompares.cpp 1948 /// Fold icmp (mul X, Y), C.
1950 BinaryOperator *Mul,
1953 if (!match(Mul->getOperand(1), m_APInt(MulC)))
1959 if (isSignTest(Pred, C) && Mul->hasNoSignedWrap()) {
1962 return new ICmpInst(Pred, Mul->getOperand(0),
1963 Constant::getNullValue(Mul->getType()));
1969 // (mul nsw X, MulC) == C --> X == C /s MulC
1970 if (Mul->hasNoSignedWrap() && C.srem(*MulC).isNullValue()) {
1971 Constant *NewC = ConstantInt::get(Mul->getType(), C.sdiv(*MulC));
1972 return new ICmpInst(Pred, Mul->getOperand(0), NewC)
    [all...]
  /src/external/apache2/llvm/dist/llvm/lib/Target/XCore/
XCoreISelLowering.cpp 573 /// add(add(mul(x,y),a),b). If requireIntermediatesHaveOneUse is true then
598 if (OtherOp.getOpcode() == ISD::MUL) {
599 // add(add(a,b),mul(x,y))
608 if (AddOp.getOperand(0).getOpcode() == ISD::MUL) {
609 // add(add(mul(x,y),a),b)
618 if (AddOp.getOperand(1).getOpcode() == ISD::MUL) {
619 // add(add(a,mul(x,y)),b)
634 SDValue Mul;
636 if (N->getOperand(0).getOpcode() == ISD::MUL) {
637 Mul = N->getOperand(0)
    [all...]
  /src/external/apache2/llvm/dist/llvm/lib/Transforms/Utils/
ScalarEvolutionExpander.cpp 321 // In a Mul, check if there is a constant operand which is a multiple
807 // Collect all the mul operands in a loop, along with their associated loops.
817 // Emit instructions to mul all the operands. Hoist as much as possible
848 P = InsertBinop(Instruction::Mul, P, P, SCEV::FlagAnyWrap,
851 Result = Result ? InsertBinop(Instruction::Mul, Result, P,
873 // A simple mul.
890 Prod = InsertBinop(Instruction::Mul, Prod, W, S->getNoWrapFlags(),
2298 // TODO: this is a very pessimistic cost modelling for Mul,
2301 Cost = ArithCost(Instruction::Mul, S->getNumOperands() - 1);
2336 ArithCost(Instruction::Mul, NumNonZeroDegreeNonOneTerms)
    [all...]
  /src/external/apache2/llvm/dist/llvm/bindings/go/llvm/
ir.go 145 Mul Opcode = C.LLVMMul
  /src/external/apache2/llvm/dist/llvm/lib/CodeGen/SelectionDAG/
LegalizeIntegerTypes.cpp 144 case ISD::MUL: Res = PromoteIntRes_SimpleIntBinOp(N); break;
1373 SDValue Mul = DAG.getNode(N->getOpcode(), DL, VTs, LHS, RHS);
1382 EVT ShiftTy = getShiftAmountTyForConstant(Mul.getValueType(), TLI, DAG);
1383 SDValue Hi = DAG.getNode(ISD::SRL, DL, Mul.getValueType(), Mul,
1390 SDValue SExt = DAG.getNode(ISD::SIGN_EXTEND_INREG, DL, Mul.getValueType(),
1391 Mul, DAG.getValueType(SmallVT));
1392 Overflow = DAG.getSetCC(DL, N->getValueType(1), SExt, Mul, ISD::SETNE);
1398 SDValue(Mul.getNode(), 1));
1402 return Mul;
    [all...]

Completed in 88 milliseconds

1 2