Home
last modified time | relevance | path

Searched refs:SCEVExpander (Results 1 – 25 of 29) sorted by relevance

12

/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DScalarEvolutionExpander.cpp98 Value *SCEVExpander::ReuseOrCreateCast(Value *V, Type *Ty, in ReuseOrCreateCast()
151 SCEVExpander::findInsertPointAfter(Instruction *I, in findInsertPointAfter()
178 SCEVExpander::GetOptimalInsertionPointForCastOf(Value *V) const { in GetOptimalInsertionPointForCastOf()
207 Value *SCEVExpander::InsertNoopCastOfTo(Value *V, Type *Ty) { in InsertNoopCastOfTo()
263 Value *SCEVExpander::InsertBinop(Instruction::BinaryOps Opcode, in InsertBinop()
357 Value *SCEVExpander::expandAddToGEP(const SCEV *Offset, Value *V, in expandAddToGEP()
425 const Loop *SCEVExpander::getRelevantLoop(const SCEV *S) { in getRelevantLoop()
503 Value *SCEVExpander::visitAddExpr(const SCEVAddExpr *S) { in visitAddExpr()
575 Value *SCEVExpander::visitMulExpr(const SCEVMulExpr *S) { in visitMulExpr()
667 Value *SCEVExpander::visitUDivExpr(const SCEVUDivExpr *S) { in visitUDivExpr()
[all …]
H A DSimplifyIndVar.cpp59 SCEVExpander &Rewriter;
68 SCEVExpander &Rewriter, in SimplifyIndvar()
1016 SCEVExpander &Rewriter, IVVisitor *V) { in simplifyUsersOfIV()
1028 SCEVExpander Rewriter(*SE, SE->getDataLayout(), "indvars"); in simplifyLoopIVs()
1137 PHINode *createWideIV(SCEVExpander &Rewriter);
1162 Instruction *widenIVUse(NarrowIVDefUse DU, SCEVExpander &Rewriter,
1846 SCEVExpander &Rewriter, PHINode *OrigPhi, in widenIVUse()
1949 !SCEVExpander::canReuseFlagsFromOriginalIVInc( in widenIVUse()
2043 PHINode *WidenIV::createWideIV(SCEVExpander &Rewriter) { in createWideIV()
2125 if (SCEVExpander::canReuseFlagsFromOriginalIVInc(OrigPhi, WidePhi, in createWideIV()
[all …]
H A DLoopVersioning.cpp63 SCEVExpander Exp2(*RtPtrChecking.getSE(), in versionLoop()
69 SCEVExpander Exp(*SE, RuntimeCheckBB->getDataLayout(), in versionLoop()
H A DLoopUtils.cpp1558 SCEVExpander &Rewriter, DominatorTree *DT, in rewriteLoopExitValues()
1875 SCEVExpander &Exp, bool HoistRuntimeChecks) { in expandBounds()
1944 Instruction *Loc, SCEVExpander &Exp, bool HoistRuntimeChecks) { in expandBounds()
1964 SCEVExpander &Exp, bool HoistRuntimeChecks) { in addRuntimeChecks()
2020 Instruction *Loc, ArrayRef<PointerDiffInfo> Checks, SCEVExpander &Expander, in addDiffRuntimeChecks()
H A DLoopConstrainer.cpp401 SCEVExpander Expander(SE, DL, "loop-constrainer"); in parseLoopStructure()
736 SCEVExpander Expander(SE, F.getDataLayout(), "loop-constrainer"); in run()
H A DLoopPeel.cpp371 SCEVExpander Expander(SE, L.getHeader()->getDataLayout(), "loop-peel"); in shouldPeelLastIteration()
1122 SCEVExpander Expander(*SE, Latch->getDataLayout(), "loop-peel"); in peelLoop()
H A DLoopUnrollRuntime.cpp678 SCEVExpander Expander(*SE, DL, "loop-unroll"); in UnrollRuntimeLoopRemainder()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DLoopPredication.cpp286 Instruction *findInsertPt(const SCEVExpander &Expander, Instruction *User,
294 Value *expandCheck(SCEVExpander &Expander, Instruction *Guard,
299 SCEVExpander &Expander,
303 SCEVExpander &Expander,
307 SCEVExpander &Expander,
311 SCEVExpander &Expander, Instruction *Guard);
312 bool widenGuardConditions(IntrinsicInst *II, SCEVExpander &Expander);
313 bool widenWidenableBranchGuardConditions(BranchInst *Guard, SCEVExpander &Expander);
320 bool predicateLoopExits(Loop *L, SCEVExpander &Rewriter);
374 Value *LoopPredication::expandCheck(SCEVExpander &Expander, in expandCheck()
[all …]
H A DIndVarSimplify.cpp144 bool simplifyAndExtend(Loop *L, SCEVExpander &Rewriter, LoopInfo *LI);
150 bool optimizeLoopExits(Loop *L, SCEVExpander &Rewriter);
153 bool predicateLoopExits(Loop *L, SCEVExpander &Rewriter);
159 PHINode *IndVar, SCEVExpander &Rewriter);
593 SCEVExpander &Rewriter, in simplifyAndExtend()
909 SCEVExpander &Rewriter, ScalarEvolution *SE) { in genLoopLimit()
944 PHINode *IndVar, SCEVExpander &Rewriter) { in linearFunctionTestReplace()
1224 SCEVExpander &Rewriter) { in createInvariantCond()
1243 ScalarEvolution *SE, SCEVExpander &Rewriter) { in createReplacement()
1300 bool SkipLastIter, ScalarEvolution *SE, SCEVExpander &Rewriter, in optimizeLoopExitWithUnknownExitCount()
[all …]
H A DLoopTermFold.cpp122 SCEVExpander Expander(SE, DL, "lsr_fold_term_cond"); in canFoldTermCondOfLoop()
264 SCEVExpander Expander(SE, DL, "lsr_fold_term_cond"); in RunTermFold()
H A DLoopLoadElimination.cpp423 SCEVExpander &SEE) { in propagateStoredValueToLoadUsers()
616 SCEVExpander SEE(*PSE.getSE(), L->getHeader()->getDataLayout(), in processLoop()
H A DLoopDataPrefetch.cpp393 SCEVExpander SCEVE(*SE, BB->getDataLayout(), "prefaddr"); in runOnLoop()
H A DLoopBoundSplit.cpp406 SCEVExpander Expander( in splitLoopBound()
H A DNaryReassociate.cpp643 SCEVExpander Expander(*SE, *DL, "nary-reassociate"); in tryReassociateMinOrMax()
H A DLoopIdiomRecognize.cpp1033 SCEVExpander Expander(*SE, *DL, "loop-idiom"); in processLoopStridedStore()
1289 SCEVExpander Expander(*SE, *DL, "loop-idiom"); in processLoopStoreOfLoopLoad()
1769 SCEVExpander Expander(*SE, Preheader->getModule()->getDataLayout(), in recognizeAndInsertStrLen()
3311 SCEVExpander Expander(*SE, *DL, "loop-idiom"); in recognizeShiftUntilZero()
H A DLoopFlatten.cpp865 SCEVExpander Rewriter(*SE, DL, "loopflatten"); in CanWidenIV()
H A DLoopStrengthReduce.cpp2134 mutable SCEVExpander Rewriter;
7057 SCEVExpander Rewriter(SE, DL, "lsr", false); in ReduceLoopStrength()
7078 SCEVExpander Rewriter(SE, DL, "lsr", true); in ReduceLoopStrength()
/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/
H A DScalarEvolutionExpander.h64 class SCEVExpander : public SCEVVisitor<SCEVExpander, Value *> {
148 SCEVExpander *SE;
154 SCEVInsertPointGuard(IRBuilderBase &B, SCEVExpander *SE) in SCEVInsertPointGuard()
182 friend struct SCEVVisitor<SCEVExpander, Value *>;
186 explicit SCEVExpander(ScalarEvolution &se, const DataLayout &DL,
199 ~SCEVExpander() {
557 SCEVExpander &Expander;
564 SCEVExpanderCleaner(SCEVExpander &Expander)
H A DSimplifyIndVar.h31 class SCEVExpander; variable
59 SCEVExpander &Rewriter,
84 LoopInfo *LI, ScalarEvolution *SE, SCEVExpander &Rewriter,
H A DLoopUtils.h43 class SCEVExpander; variable
503 SCEVExpander &Rewriter, DominatorTree *DT,
569 SCEVExpander &Expander, bool HoistRuntimeChecks = false);
572 Instruction *Loc, ArrayRef<PointerDiffInfo> Checks, SCEVExpander &Expander,
/freebsd/contrib/llvm-project/llvm/lib/Target/PowerPC/
H A DPPCLoopInstrFormPrep.cpp319 SCEVExpander &SCEVE, SmallPtrSet<Value *, 16> &DeletedPtrs);
551 SCEVExpander SCEVE(*SE, Header->getDataLayout(), in rewriteLoadStoresForCommoningChains()
642 PrepForm Form, SCEVExpander &SCEVE, in rewriteForBase()
1019 SCEVExpander SCEVE(*SE, Header->getDataLayout(), in rewriteLoadStores()
/freebsd/contrib/llvm-project/llvm/lib/Target/ARM/
H A DMVETailPredication.cpp438 SCEVExpander Expander(*SE, L->getHeader()->getDataLayout(), in TryConvertActiveLaneMask()
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/
H A DHardwareLoops.cpp447 SCEVExpander SCEVE(SE, DL, "loopcnt"); in InitLoopCount()
/freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/
H A DScalarEvolution.h1445 friend class SCEVExpander;
/freebsd/contrib/llvm-project/llvm/lib/Target/Hexagon/
H A DHexagonLoopIdiomRecognition.cpp2028 SCEVExpander Expander(*SE, *DL, "hexagon-loop-idiom"); in processCopyingStore()

12