Lines Matching refs:SE

239   explicit ScopExpander(const Region &R, ScalarEvolution &SE,  in ScopExpander()
242 : Expander(SE, DL, Name, /*PreserveLCSSA=*/false), SE(SE), Name(Name), in ScopExpander()
267 ScalarEvolution &SE; member
284 assert(SE.isSCEVable(Op->getType())); in visitGenericInst()
285 auto *OpSCEV = SE.getSCEV(Op); in visitGenericInst()
292 return SE.getSCEV(InstClone); in visitGenericInst()
300 auto *NewE = SE.getSCEV(NewVal); in visitUnknown()
321 const SCEV *LHSScev = SE.getSCEV(Inst->getOperand(0)); in visitUnknown()
322 const SCEV *RHSScev = SE.getSCEV(Inst->getOperand(1)); in visitUnknown()
324 if (!SE.isKnownNonZero(RHSScev)) in visitUnknown()
325 RHSScev = SE.getUMaxExpr(RHSScev, SE.getConstant(E->getType(), 1)); in visitUnknown()
332 return SE.getSCEV(Inst); in visitUnknown()
341 return SE.getPtrToIntExpr(visit(E->getOperand()), E->getType()); in visitPtrToIntExpr()
344 return SE.getTruncateExpr(visit(E->getOperand()), E->getType()); in visitTruncateExpr()
347 return SE.getZeroExtendExpr(visit(E->getOperand()), E->getType()); in visitZeroExtendExpr()
350 return SE.getSignExtendExpr(visit(E->getOperand()), E->getType()); in visitSignExtendExpr()
354 if (!SE.isKnownNonZero(RHSScev)) in visitUDivExpr()
355 RHSScev = SE.getUMaxExpr(RHSScev, SE.getConstant(E->getType(), 1)); in visitUDivExpr()
356 return SE.getUDivExpr(visit(E->getLHS()), RHSScev); in visitUDivExpr()
362 return SE.getAddExpr(NewOps); in visitAddExpr()
368 return SE.getMulExpr(NewOps); in visitMulExpr()
374 return SE.getUMaxExpr(NewOps); in visitUMaxExpr()
380 return SE.getSMaxExpr(NewOps); in visitSMaxExpr()
386 return SE.getUMinExpr(NewOps); in visitUMinExpr()
392 return SE.getSMinExpr(NewOps); in visitSMinExpr()
398 return SE.getUMinExpr(NewOps, /*Sequential=*/true); in visitSequentialUMinExpr()
404 return SE.getAddRecExpr(NewOps, E->getLoop(), E->getNoWrapFlags()); in visitAddRecExpr()
409 Value *polly::expandCodeFor(Scop &S, ScalarEvolution &SE, const DataLayout &DL, in expandCodeFor() argument
413 ScopExpander Expander(S.getRegion(), SE, DL, Name, VMap, RTCBB); in expandCodeFor()
506 ScalarEvolution &SE) { in hasVariantIndex() argument
508 const SCEV *PtrSCEV = SE.getSCEVAtScope(Val, L); in hasVariantIndex()
510 if (!SE.isLoopInvariant(PtrSCEV, OuterLoop)) in hasVariantIndex()
517 ScalarEvolution &SE, const DominatorTree &DT, in isHoistableLoad() argument
530 if (!hasVariantIndex(GepInst, L, R, SE)) { in isHoistableLoad()
539 const SCEV *PtrSCEV = SE.getSCEVAtScope(Ptr, L); in isHoistableLoad()
541 if (!SE.isLoopInvariant(PtrSCEV, L)) in isHoistableLoad()
603 bool polly::canSynthesize(const Value *V, const Scop &S, ScalarEvolution *SE, in canSynthesize() argument
605 if (!V || !SE->isSCEVable(V->getType())) in canSynthesize()
609 if (const SCEV *Scev = SE->getSCEVAtScope(const_cast<Value *>(V), Scope)) in canSynthesize()