| /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...] |