Searched refs:SCEVMulExpr (Results 1 – 8 of 8) sorted by relevance
337 auto VisitAdd = [&](const SCEVAddExpr *S) -> const SCEVMulExpr* { in ComputeElements()343 return dyn_cast<SCEVMulExpr>(S->getOperand(1)); in ComputeElements()346 auto VisitMul = [&](const SCEVMulExpr *S) -> const SCEVUDivExpr* { in ComputeElements()
244 class SCEVMulExpr : public SCEVCommutativeExpr {247 SCEVMulExpr(const FoldingSetNodeIDRef ID, in SCEVMulExpr() function526 return ((SC*)this)->visitMulExpr((const SCEVMulExpr*)S); in visit()707 const SCEV *visitMulExpr(const SCEVMulExpr *Expr) { in visitMulExpr()
374 Value *visitMulExpr(const SCEVMulExpr *S);
409 const SCEVMulExpr *Mul = dyn_cast<SCEVMulExpr>(this); in isNonConstantNegative()921 if (const SCEVMulExpr *T = dyn_cast<SCEVMulExpr>(Denominator)) { in divide()1022 void visitMulExpr(const SCEVMulExpr *Numerator) { in visitMulExpr()1305 if (isa<SCEVAddExpr>(Op) || isa<SCEVMulExpr>(Op)) { in getTruncateExpr()1319 else if (isa<SCEVMulExpr>(Op)) in getTruncateExpr()1902 if (auto *SM = dyn_cast<SCEVMulExpr>(Op)) { in getZeroExtendExpr()2296 const SCEVMulExpr *Mul = dyn_cast<SCEVMulExpr>(Ops[i]); in CollectAddOperandsWithScales()2493 if (const auto *Mul = dyn_cast<SCEVMulExpr>(Ops[Idx])) { in getAddExpr()2514 } else if (const SCEVMulExpr *M = dyn_cast<SCEVMulExpr>(Ops[i])) { in getAddExpr()2578 if (Idx < Ops.size() && isa<SCEVMulExpr>(Ops[Idx])) { in getAddExpr()[all …]
280 if (const SCEVMulExpr *M = dyn_cast<SCEVMulExpr>(S)) { in FactorOutConstant()760 Value *SCEVExpander::visitMulExpr(const SCEVMulExpr *S) { in visitMulExpr()766 for (std::reverse_iterator<SCEVMulExpr::op_iterator> I(S->op_end()), in visitMulExpr()1543 if (!isa<SCEVMulExpr>(Base) && !isa<SCEVUDivExpr>(Base)) { in visitAddRecExpr()
218 if (const SCEVMulExpr *M = dyn_cast<SCEVMulExpr>(V)) { in getStrideFromPointer()
2301 else if (const auto *Product = dyn_cast<SCEVMulExpr>(Expr)) in getConstantPart()2383 else if (const SCEVMulExpr *Product = dyn_cast<SCEVMulExpr>(Operand)) { in gcdMIVtest()
420 if (const SCEVMulExpr *Mul = dyn_cast<SCEVMulExpr>(S)) in DoInitialMatch()647 static bool isMulSExtable(const SCEVMulExpr *M, ScalarEvolution &SE) { in isMulSExtable()651 return isa<SCEVMulExpr>(SE.getSignExtendExpr(M, WideTy)); in isMulSExtable()722 if (const SCEVMulExpr *Mul = dyn_cast<SCEVMulExpr>(LHS)) { in getExactSDiv()934 if (const SCEVMulExpr *Mul = dyn_cast<SCEVMulExpr>(S)) { in isHighCostExpansion()1302 C.NumIVMuls += isa<SCEVMulExpr>(Reg) && in RateRegister()3525 } else if (const SCEVMulExpr *Mul = dyn_cast<SCEVMulExpr>(S)) { in CollectSubexprs()