HomeSort by: relevance | last modified time | path
    Searched refs:SE (Results 1 - 25 of 227) sorted by relevancy

1 2 3 4 5 6 7 8 910

  /src/external/apache2/llvm/dist/llvm/lib/Analysis/
ScalarEvolutionNormalization.cpp 39 ScalarEvolution &SE)
40 : SCEVRewriteVisitor<NormalizeDenormalizeRewriter>(SE), Kind(Kind),
54 return SE.getAddRecExpr(Operands, AR->getLoop(), SCEV::FlagAnyWrap);
66 Operands[i] = SE.getAddExpr(Operands[i], Operands[i + 1]);
90 Operands[i] = SE.getMinusSCEV(Operands[i], Operands[i + 1]);
93 return SE.getAddRecExpr(Operands, AR->getLoop(), SCEV::FlagAnyWrap);
98 ScalarEvolution &SE) {
102 return NormalizeDenormalizeRewriter(Normalize, Pred, SE).visit(S);
106 ScalarEvolution &SE) {
107 return NormalizeDenormalizeRewriter(Normalize, Pred, SE).visit(S)
    [all...]
LoopCacheAnalysis.cpp 81 const Loop &L, ScalarEvolution &SE) {
90 const SCEV *Step = AR->getStepRecurrence(SE);
95 if (!SE.isLoopInvariant(Start, &L) || !SE.isLoopInvariant(Step, &L))
98 const SCEV *StepRec = AR->getStepRecurrence(SE);
99 if (StepRec && SE.isKnownNegative(StepRec))
100 StepRec = SE.getNegativeSCEV(StepRec);
107 static const SCEV *computeTripCount(const Loop &L, ScalarEvolution &SE) {
108 const SCEV *BackedgeTakenCount = SE.getBackedgeTakenCount(&L);
113 return SE.getAddExpr(BackedgeTakenCount
    [all...]
ScalarEvolutionDivision.cpp 57 void SCEVDivision::divide(ScalarEvolution &SE, const SCEV *Numerator,
62 SCEVDivision D(SE, Numerator, Denominator);
90 divide(SE, *Quotient, Op, &Q, &R);
125 Quotient = SE.getConstant(QuotientVal);
126 Remainder = SE.getConstant(RemainderVal);
135 divide(SE, Numerator->getStart(), Denominator, &StartQ, &StartR);
136 divide(SE, Numerator->getStepRecurrence(SE), Denominator, &StepQ, &StepR);
142 Quotient = SE.getAddRecExpr(StartQ, StepQ, Numerator->getLoop(),
144 Remainder = SE.getAddRecExpr(StartR, StepR, Numerator->getLoop()
    [all...]
ScalarEvolutionAliasAnalysis.cpp 35 const SCEV *AS = SE.getSCEV(const_cast<Value *>(LocA.Ptr));
36 const SCEV *BS = SE.getSCEV(const_cast<Value *>(LocB.Ptr));
44 if (SE.getEffectiveSCEVType(AS->getType()) ==
45 SE.getEffectiveSCEVType(BS->getType())) {
46 unsigned BitWidth = SE.getTypeSizeInBits(AS->getType());
55 const SCEV *BA = SE.getMinusSCEV(BS, AS);
60 if (ASizeInt.ule(SE.getUnsignedRange(BA).getUnsignedMin()) &&
61 (-BSizeInt).uge(SE.getUnsignedRange(BA).getUnsignedMax()))
69 const SCEV *AB = SE.getMinusSCEV(AS, BS);
74 if (BSizeInt.ule(SE.getUnsignedRange(AB).getUnsignedMin()) &
    [all...]
DependenceAnalysis.cpp 128 auto &SE = FAM.getResult<ScalarEvolutionAnalysis>(F);
130 return DependenceInfo(&F, &AA, &SE, &LI);
156 auto &SE = getAnalysis<ScalarEvolutionWrapperPass>().getSE();
158 info.reset(new DependenceInfo(&F, &AA, &SE, &LI));
364 return SE->getNegativeSCEV(C);
395 A = SE->getOne(D->getType());
396 B = SE->getNegativeSCEV(A);
397 C = SE->getNegativeSCEV(D);
404 SE = NewSE;
484 const SCEV *Prod1 = SE->getMulExpr(X->getA(), Y->getB())
    [all...]
Delinearization.cpp 46 ScalarEvolution *SE;
60 ScalarEvolution *SE) {
72 const SCEV *AccessFn = SE->getSCEVAtScope(getPointerOperand(&Inst), L);
75 dyn_cast<SCEVUnknown>(SE->getPointerBase(AccessFn));
79 AccessFn = SE->getMinusSCEV(AccessFn, BasePointer);
87 SE->delinearize(AccessFn, Subscripts, Sizes, SE->getElementSize(&Inst));
119 SE = &getAnalysis<ScalarEvolutionWrapperPass>().getSE();
125 printDelinearization(O, F, LI, SE);
IVUsers.cpp 42 return IVUsers(&L, &AR.AC, &AR.LI, &AR.DT, &AR.SE);
61 ScalarEvolution *SE, LoopInfo *LI) {
69 SE->getSCEVAtScope(AR, LI->getLoopFor(I->getParent())) != AR);
73 return isInteresting(AR->getStart(), I, L, SE, LI) &&
74 !isInteresting(AR->getStepRecurrence(*SE), I, L, SE, LI);
81 if (isInteresting(Op, I, L, SE, LI)) {
177 if (!SE->isSCEVable(I->getType()))
189 uint64_t Width = SE->getTypeSizeInBits(I->getType());
199 const SCEV *ISE = SE->getSCEV(I)
    [all...]
  /src/external/apache2/llvm/dist/llvm/include/llvm/Analysis/
ScalarEvolutionNormalization.h 55 ScalarEvolution &SE);
60 ScalarEvolution &SE);
65 ScalarEvolution &SE);
ScalarEvolutionAliasAnalysis.h 27 ScalarEvolution &SE;
30 explicit SCEVAAResult(ScalarEvolution &SE) : AAResultBase(), SE(SE) {}
31 SCEVAAResult(SCEVAAResult &&Arg) : AAResultBase(std::move(Arg)), SE(Arg.SE) {}
LoopUnrollAnalyzer.h 50 ScalarEvolution &SE, const Loop *L)
51 : SimplifiedValues(SimplifiedValues), SE(SE), L(L) {
52 IterationNumber = SE.getConstant(APInt(64, Iteration));
81 ScalarEvolution &SE;
  /src/external/apache2/llvm/dist/llvm/include/llvm/Transforms/Utils/
LoopPeel.h 23 bool peelLoop(Loop *L, unsigned PeelCount, LoopInfo *LI, ScalarEvolution *SE,
27 gatherPeelingPreferences(Loop *L, ScalarEvolution &SE,
35 unsigned &TripCount, ScalarEvolution &SE,
LoopRotationUtils.h 34 AssumptionCache *AC, DominatorTree *DT, ScalarEvolution *SE,
SimplifyIndVar.h 51 bool simplifyUsersOfIV(PHINode *CurrIV, ScalarEvolution *SE, DominatorTree *DT,
58 bool simplifyLoopIVs(Loop *L, ScalarEvolution *SE, DominatorTree *DT,
78 LoopInfo *LI, ScalarEvolution *SE, SCEVExpander &Rewriter,
  /src/external/apache2/llvm/dist/llvm/lib/Transforms/Scalar/
InductiveRangeCheckElimination.cpp 150 static bool parseRangeCheckICmp(Loop *L, ICmpInst *ICI, ScalarEvolution &SE,
155 extractRangeChecksFromCond(Loop *L, ScalarEvolution &SE, Use &ConditionUse,
199 bool isEmpty(ScalarEvolution &SE, bool IsSigned) const {
203 return SE.isKnownPredicate(ICmpInst::ICMP_SGE, Begin, End);
205 return SE.isKnownPredicate(ICmpInst::ICMP_UGE, Begin, End);
216 Optional<Range> computeSafeIterationSpace(ScalarEvolution &SE,
226 extractRangeChecksFromBranch(BranchInst *BI, Loop *L, ScalarEvolution &SE,
234 ScalarEvolution &SE;
248 InductiveRangeCheckElimination(ScalarEvolution &SE,
251 : SE(SE), BPI(BPI), DT(DT), LI(LI), GetBFI(GetBFI) {
    [all...]
AlignmentFromAssumptions.cpp 97 ScalarEvolution *SE) {
99 const SCEV *DiffUnitsSCEV = SE->getURemExpr(DiffSCEV, AlignSCEV);
129 ScalarEvolution *SE) {
130 const SCEV *PtrSCEV = SE->getSCEV(Ptr);
134 PtrSCEV = SE->getTruncateOrZeroExtend(
135 PtrSCEV, SE->getEffectiveSCEVType(AASCEV->getType()));
136 const SCEV *DiffSCEV = SE->getMinusSCEV(PtrSCEV, AASCEV);
140 DiffSCEV = SE->getNoopOrSignExtend(DiffSCEV, OffSCEV->getType());
144 DiffSCEV = SE->getAddExpr(DiffSCEV, OffSCEV);
150 if (MaybeAlign NewAlignment = getNewAlignmentDiff(DiffSCEV, AlignSCEV, SE)) {
    [all...]
LoopDeletion.cpp 54 static bool isLoopDead(Loop *L, ScalarEvolution &SE,
90 SE.forgetLoopDispositions(L);
142 breakBackedgeIfNotTaken(Loop *L, DominatorTree &DT, ScalarEvolution &SE,
150 auto *BTC = SE.getBackedgeTakenCount(L);
154 breakLoopBackedge(L, DT, SE, LI, MSSA);
173 ScalarEvolution &SE, LoopInfo &LI,
196 SE.forgetLoop(L);
207 deleteDeadLoop(L, &DT, &SE, &LI, MSSA);
227 if (!isLoopDead(L, SE, ExitingBlocks, ExitBlock, Changed, Preheader)) {
235 const SCEV *S = SE.getConstantMaxBackedgeTakenCount(L)
    [all...]
IndVarSimplify.cpp 144 ScalarEvolution *SE;
173 IndVarSimplify(LoopInfo *LI, ScalarEvolution *SE, DominatorTree *DT,
176 : LI(LI), SE(SE), DT(DT), DL(DL), TLI(TLI), TTI(TTI),
425 SE->forgetLoop(L);
512 ScalarEvolution *SE,
519 uint64_t Width = SE->getTypeSizeInBits(Ty);
527 uint64_t NarrowIVWidth = SE->getTypeSizeInBits(WI.NarrowIV->getType());
545 WI.WidestNativeType = SE->getEffectiveSCEVType(Ty);
554 if (Width > SE->getTypeSizeInBits(WI.WidestNativeType)
    [all...]
BDCE.cpp 117 if (SExtInst *SE = dyn_cast<SExtInst>(&I)) {
118 APInt Demanded = DB.getDemandedBits(SE);
119 const uint32_t SrcBitSize = SE->getSrcTy()->getScalarSizeInBits();
120 auto *const DstTy = SE->getDestTy();
123 clearAssumptionsOfUsers(SE, DB);
124 IRBuilder<> Builder(SE);
126 Builder.CreateZExt(SE->getOperand(0), DstTy, SE->getName()));
127 Worklist.push_back(SE);
LoopPredication.cpp 255 ScalarEvolution *SE;
312 ScalarEvolution *SE, LoopInfo *LI,
314 : AA(AA), DT(DT), SE(SE), LI(LI), BPI(BPI) {};
333 auto *SE = &getAnalysis<ScalarEvolutionWrapperPass>().getSE();
339 LoopPredication LP(AA, DT, SE, LI, &BPI);
366 LoopPredication LP(&AR.AA, &AR.DT, &AR.SE, &AR.LI, &BPI);
379 const SCEV *LHSS = SE->getSCEV(LHS);
382 const SCEV *RHSS = SE->getSCEV(RHS);
387 if (SE->isLoopInvariant(LHSS, L))
    [all...]
  /src/external/apache2/llvm/dist/llvm/include/llvm/ADT/
SetOperations.h 25 for (typename S2Ty::const_iterator SI = S2.begin(), SE = S2.end();
26 SI != SE; ++SI)
52 for (typename S1Ty::const_iterator SI = S1.begin(), SE = S1.end();
53 SI != SE; ++SI)
63 for (typename S2Ty::const_iterator SI = S2.begin(), SE = S2.end();
64 SI != SE; ++SI)
  /src/external/apache2/llvm/dist/llvm/lib/Transforms/Instrumentation/
BoundsChecking.cpp 60 BuilderTy &IRB, ScalarEvolution &SE) {
79 auto SizeRange = SE.getUnsignedRange(SE.getSCEV(Size));
80 auto OffsetRange = SE.getUnsignedRange(SE.getSCEV(Offset));
81 auto NeededSizeRange = SE.getUnsignedRange(SE.getSCEV(NeededSizeVal));
144 ScalarEvolution &SE) {
159 ObjSizeEval, IRB, SE);
163 DL, TLI, ObjSizeEval, IRB, SE);
    [all...]
  /src/external/apache2/llvm/dist/llvm/lib/Transforms/Vectorize/
VPlanTransforms.h 30 SmallPtrSetImpl<Instruction *> &DeadInstructions, ScalarEvolution &SE);
  /src/external/apache2/llvm/dist/llvm/lib/Transforms/Utils/
ScalarEvolutionExpander.cpp 88 SE.DT.dominates(cast<Instruction>(Ret), &*BIP));
157 assert(SE.getTypeSizeInBits(V->getType()) == SE.getTypeSizeInBits(Ty) &&
187 SE.getTypeSizeInBits(Ty) == SE.getTypeSizeInBits(V->getType())) {
191 SE.getTypeSizeInBits(CI->getType()) ==
192 SE.getTypeSizeInBits(CI->getOperand(0)->getType()))
197 SE.getTypeSizeInBits(CE->getType()) ==
198 SE.getTypeSizeInBits(CE->getOperand(0)->getType()))
261 while (const Loop *L = SE.LI.getLoopFor(Builder.GetInsertBlock()))
    [all...]
SimplifyIndVar.cpp 55 ScalarEvolution *SE;
64 SimplifyIndvar(Loop *Loop, ScalarEvolution *SE, DominatorTree *DT,
68 : L(Loop), LI(LI), SE(SE), DT(DT), TTI(TTI), Rewriter(Rewriter),
152 assert(SE->isSCEVable(IVSrc->getType()) && "Expect SCEVable IV operand");
164 FoldedExpr = SE->getUDivExpr(SE->getSCEV(IVSrc), SE->getSCEV(D));
168 SE->getSCEV(IVSrc) != SE->getMulExpr(FoldedExpr, SE->getSCEV(D))
    [all...]
  /src/external/apache2/llvm/dist/llvm/lib/Target/ARM/
MVETailPredication.cpp 85 ScalarEvolution *SE = nullptr;
137 SE = &getAnalysis<ScalarEvolutionWrapperPass>().getSE();
212 auto *EC= SE->getSCEV(ElemCount);
213 auto *TC = SE->getSCEV(TripCount);
223 if (!SE->isLoopInvariant(EC, L)) {
266 auto *VW = SE->getSCEV(ConstantInt::get(TripCount->getType(), VectorWidth));
268 auto *ECPlusVWMinus1 = SE->getAddExpr(EC,
269 SE->getSCEV(ConstantInt::get(TripCount->getType(), VectorWidth - 1)));
272 auto *Ceil = SE->getUDivExpr(ECPlusVWMinus1, VW);
296 bool Zero = SE->getMinusSCEV
    [all...]

Completed in 42 milliseconds

1 2 3 4 5 6 7 8 910