Searched refs:Loop (Results 1 - 25 of 80) sorted by relevance

1234

/freebsd-10.1-release/contrib/llvm/include/llvm/Transforms/Utils/
H A DLoopUtils.h1 //===- llvm/Transforms/Utils/LoopUtils.h - Loop utilities -*- C++ -*-=========//
19 class Loop;
22 BasicBlock *InsertPreheaderForLoop(Loop *L, Pass *P);
H A DUnrollLoop.h21 class Loop;
25 bool UnrollLoop(Loop *L, unsigned Count, unsigned TripCount, bool AllowRuntime,
28 bool UnrollRuntimeLoopProlog(Loop *L, unsigned Count, LoopInfo *LI,
H A DSimplifyIndVar.h26 class Loop;
47 bool simplifyLoopIVs(Loop *L, ScalarEvolution *SE, LPPassManager *LPM,
H A DCodeExtractor.h25 class Loop;
76 CodeExtractor(DominatorTree &DT, Loop &L, bool AggregateArgs = false);
/freebsd-10.1-release/contrib/llvm/include/llvm/Analysis/
H A DLoopPass.h34 /// to a Loop.
38 // whatever action is necessary for the specified Loop.
39 virtual bool runOnLoop(Loop *L, LPPassManager &LPM) = 0;
45 virtual bool doInitialization(Loop *L, LPPassManager &LPM) {
49 // Finalization hook does not supply Loop because at this time
80 virtual void cloneBasicBlockAnalysis(BasicBlock *F, BasicBlock *T, Loop *L) {}
83 virtual void deleteAnalysisValue(Value *V, Loop *L) {}
100 return "Loop Pass Manager";
121 void deleteLoopFromQueue(Loop *L);
125 void insertLoop(Loop *
[all...]
H A DScalarEvolutionNormalization.h45 class Loop;
64 typedef SmallPtrSet<const Loop *, 2> PostIncLoopSet;
H A DDependenceAnalysis.h49 class Loop;
391 const Loop *AssociatedLoop;
435 const Loop *getAssociatedLoop() const;
438 void setPoint(const SCEV *X, const SCEV *Y, const Loop *CurrentLoop);
442 const SCEV *C, const Loop *CurrentLoop);
445 void setDistance(const SCEV *D, const Loop *CurrentLoop);
516 unsigned mapSrcLoop(const Loop *SrcLoop) const;
520 unsigned mapDstLoop(const Loop *DstLoop) const;
524 bool isLoopInvariant(const SCEV *Expression, const Loop *LoopNest) const;
535 const Loop *LoopNes
[all...]
H A DScalarEvolution.h46 class Loop;
352 DenseMap<const Loop*, BackedgeTakenInfo> BackedgeTakenCounts;
365 SmallVector<std::pair<const Loop *, const SCEV *>, 2> > ValuesAtScopes;
369 SmallVector<std::pair<const Loop *, LoopDisposition>, 2> > LoopDispositions;
372 LoopDisposition computeLoopDisposition(const SCEV *S, const Loop *L);
420 /// at most once for each SCEV+Loop pair.
422 const SCEV *computeSCEVAtScope(const SCEV *S, const Loop *L);
433 const BackedgeTakenInfo &getBackedgeTakenInfo(const Loop *L);
437 BackedgeTakenInfo ComputeBackedgeTakenCount(const Loop *L);
441 ExitLimit ComputeExitLimit(const Loop *
[all...]
H A DIVUsers.h73 void transformToPostInc(const Loop *L);
121 Loop *L;
134 virtual bool runOnLoop(Loop *L, LPPassManager &LPM);
142 Loop *getLoop() const { return L; }
158 const SCEV *getStride(const IVStrideUse &IU, const Loop *L) const;
177 bool AddUsersImpl(Instruction *I, SmallPtrSet<Loop*,16> &SimpleLoopNests);
H A DLoopInfo.h1 //===- llvm/Analysis/LoopInfo.h - Natural Loop Calculator -------*- C++ -*-===//
52 class Loop;
78 /// Loop ctor - This creates an empty loop.
294 assert(i != Blocks.size() && "Loop does not contain BB!");
328 raw_ostream& operator<<(raw_ostream &OS, const LoopBase<BlockT, LoopT> &Loop) { argument
329 Loop.print(OS);
335 __extension__ extern template class LoopBase<BasicBlock, Loop>;
338 class Loop : public LoopBase<BasicBlock, Loop> { class in namespace:llvm
340 Loop() {} function in class:llvm::Loop
443 explicit Loop(BasicBlock *BB) : LoopBase<BasicBlock, Loop>(BB) {} function in class:llvm::Loop
[all...]
H A DScalarEvolutionExpander.h51 DenseMap<const SCEV *, const Loop *> RelevantLoops;
63 const Loop *IVIncInsertLoop;
121 PHINode *getOrInsertCanonicalInductionVariable(const Loop *L, Type *Ty);
132 unsigned replaceCongruentIVs(Loop *L, const DominatorTree *DT,
142 void setIVIncInsertPos(const Loop *L, Instruction *Pos) {
225 const Loop *getRelevantLoop(const SCEV *);
255 bool isNormalAddRecExprPHI(PHINode *PN, Instruction *IncV, const Loop *L);
257 bool isExpandedAddRecExprPHI(PHINode *PN, Instruction *IncV, const Loop *L);
261 const Loop *L,
264 Value *expandIVInc(PHINode *PN, Value *StepV, const Loop *
[all...]
H A DLoopIterator.h16 // use Loop::block_begin() instead.
47 Loop *L;
56 LoopBlocksDFS(Loop *Container) :
61 Loop *getLoop() const { return L; }
163 assert(DFS.PostNumbers.count(BB) && "Loop DFS skipped preorder");
/freebsd-10.1-release/contrib/llvm/lib/Analysis/
H A DLoopInfo.cpp1 //===- LoopInfo.cpp - Natural Loop Calculator -----------------------------===//
35 template class llvm::LoopBase<BasicBlock, Loop>;
36 template class llvm::LoopInfoBase<BasicBlock, Loop>;
49 INITIALIZE_PASS_BEGIN(LoopInfo, "loops", "Natural Loop Information", true, true)
51 INITIALIZE_PASS_END(LoopInfo, "loops", "Natural Loop Information", true, true)
53 // Loop identifier metadata name.
57 // Loop implementation
62 bool Loop::isLoopInvariant(Value *V) const {
70 bool Loop::hasLoopInvariantOperands(Instruction *I) const {
87 bool Loop
[all...]
H A DLoopPass.cpp1 //===- LoopPass.cpp - Loop Pass and Loop Pass Manager ---------------------===//
24 /// PrintLoopPass - Print a Function corresponding to a Loop.
40 bool runOnLoop(Loop *L, LPPassManager &) {
42 for (Loop::block_iterator b = L->block_begin(), be = L->block_end();
69 void LPPassManager::deleteLoopFromQueue(Loop *L) {
84 for (std::deque<Loop *>::iterator I = LQ.begin(),
94 void LPPassManager::insertLoop(Loop *L, Loop *ParentLoop) {
107 void LPPassManager::insertLoopIntoQueue(Loop *
[all...]
H A DIVUsers.cpp49 static bool isInteresting(const SCEV *S, const Instruction *I, const Loop *L,
87 SmallPtrSet<Loop*,16> &SimpleLoopNests) {
88 Loop *NearestLoop = 0;
92 Loop *DomLoop = LI->getLoopFor(DomBB);
115 SmallPtrSet<Loop*,16> &SimpleLoopNests) {
229 SmallPtrSet<Loop*,16> SimpleLoopNests;
251 bool IVUsers::runOnLoop(Loop *l, LPPassManager &LPM) {
321 static const SCEVAddRecExpr *findAddRecForLoop(const SCEV *S, const Loop *L) {
339 const SCEV *IVUsers::getStride(const IVStrideUse &IU, const Loop *L) const {
345 void IVStrideUse::transformToPostInc(const Loop *
[all...]
H A DCFG.cpp119 static const Loop *getOutermostLoop(const LoopInfo *LI, const BasicBlock *BB) {
120 const Loop *L = LI->getLoopFor(BB);
122 while (const Loop *Parent = L->getParentLoop())
131 const Loop *L1 = getOutermostLoop(LI, BB1);
132 const Loop *L2 = getOutermostLoop(LI, BB2);
166 if (const Loop *Outer = LI ? getOutermostLoop(LI, BB) : 0) {
/freebsd-10.1-release/lib/libc/arm/string/
H A Dstrlen.S34 beq .Loop
45 .Loop:
75 bne .Loop
/freebsd-10.1-release/contrib/llvm/lib/Transforms/Scalar/
H A DLoopUnswitch.cpp86 typedef std::map<const Loop*, LoopProperties> LoopPropsMap;
105 bool countLoop(const Loop *L, const TargetTransformInfo &TTI);
108 void forgetLoop(const Loop *L);
121 void cloneData(const Loop *NewLoop, const Loop *OldLoop,
126 LoopInfo *LI; // Loop information
131 std::vector<Loop*> LoopProcessWorklist;
138 Loop *currentLoop;
159 bool runOnLoop(Loop *L, LPPassManager &LPM);
185 void RemoveLoopFromWorklist(Loop *
[all...]
H A DLoopDeletion.cpp1 //===- LoopDeletion.cpp - Dead Loop Deletion Pass ---------------===//
10 // This file implements the Dead Loop Deletion Pass. This pass is responsible
37 bool runOnLoop(Loop *L, LPPassManager &LPM);
54 bool isLoopDead(Loop *L, SmallVectorImpl<BasicBlock *> &exitingBlocks,
79 bool LoopDeletion::isLoopDead(Loop *L,
114 for (Loop::block_iterator LI = L->block_begin(), LE = L->block_end();
132 bool LoopDeletion::runOnLoop(Loop *L, LPPassManager &LPM) {
207 for (Loop::block_iterator LI = L->block_begin(), LE = L->block_end();
229 for (Loop::block_iterator LI = L->block_begin(), LE = L->block_end();
H A DLICM.cpp1 //===-- LICM.cpp - Loop Invariant Code Motion Pass ------------------------===//
77 virtual bool runOnLoop(Loop *L, LPPassManager &LPM);
104 DominatorTree *DT; // Dominator Tree for the current Loop.
112 Loop *CurLoop; // The current loop we are working on...
117 DenseMap<Loop*, AliasSetTracker*> LoopToAliasSetMap;
120 void cloneBasicBlockAnalysis(BasicBlock *From, BasicBlock *To, Loop *L);
124 void deleteAnalysisValue(Value *V, Loop *L);
191 INITIALIZE_PASS_BEGIN(LICM, "licm", "Loop Invariant Code Motion", false, false)
197 INITIALIZE_PASS_END(LICM, "licm", "Loop Invariant Code Motion", false, false)
205 bool LICM::runOnLoop(Loop *
[all...]
H A DLoopInstSimplify.cpp1 //===- LoopInstSimplify.cpp - Loop Instruction Simplification Pass --------===//
39 bool runOnLoop(Loop*, LPPassManager&);
67 bool LoopInstSimplify::runOnLoop(Loop *L, LPPassManager &LPM) {
140 const Loop *SuccLoop = LI->getLoopFor(SuccBB);
H A DLoopRerollPass.cpp1 //===-- LoopReroll.cpp - Loop rerolling pass ------------------------------===//
127 bool runOnLoop(Loop *L, LPPassManager &LPM);
154 SimpleLoopReduction(Instruction *P, Loop *L)
207 void add(Loop *L);
314 void collectPossibleIVs(Loop *L, SmallInstructionVector &PossibleIVs);
315 void collectPossibleReductions(Loop *L,
317 void collectInLoopUserSet(Loop *L,
322 void collectInLoopUserSet(Loop *L,
330 bool collectAllRoots(Loop *L, uint64_t Inc, uint64_t Scale, Instruction *IV,
334 bool reroll(Instruction *IV, Loop *
[all...]
/freebsd-10.1-release/contrib/llvm/lib/Transforms/Utils/
H A DLoopSimplify.cpp1 //===- LoopSimplify.cpp - Loop Canonicalization Pass ----------------------===//
14 // Loop pre-header insertion guarantees that there is a single, non-critical
18 // Loop exit-block insertion guarantees that all exit blocks from the loop
81 Loop *L;
82 virtual bool runOnLoop(Loop *L, LPPassManager &LPM);
102 bool ProcessLoop(Loop *L, LPPassManager &LPM);
103 BasicBlock *RewriteLoopExitBlock(Loop *L, BasicBlock *Exit);
104 Loop *SeparateNestedLoop(Loop *L, LPPassManager &LPM,
106 BasicBlock *InsertUniqueBackedgeBlock(Loop *
[all...]
H A DSimplifyIndVar.cpp44 Loop *L;
54 SimplifyIndvar(Loop *Loop, ScalarEvolution *SE, LPPassManager *LPM, argument
56 L(Loop),
164 const Loop *ICmpLoop = LI->getLoopFor(ICmp->getParent());
198 const Loop *ICmpLoop = LI->getLoopFor(Rem->getParent());
292 static bool isSimpleIVUser(Instruction *I, const Loop *L, ScalarEvolution *SE) {
384 bool simplifyLoopIVs(Loop *L, ScalarEvolution *SE, LPPassManager *LPM,
H A DLoopUnrollRuntime.cpp1 //===-- UnrollLoopRuntime.cpp - Runtime Loop unrolling utilities ----------===//
56 static void ConnectProlog(Loop *L, Value *TripCount, unsigned Count,
61 assert(Latch != 0 && "Loop must have a latch");
113 assert(Exit != 0 && "Loop must have a single exit block only");
136 static void CloneLoopBlocks(Loop *L,
158 if (Loop *ParentLoop = L->getParentLoop())
215 /// if (extraiters == 0) jump Loop:
223 /// Loop:
227 bool llvm::UnrollRuntimeLoopProlog(Loop *L, unsigned Count, LoopInfo *LI,
265 if (Loop *ParentLoo
[all...]

Completed in 211 milliseconds

1234