/external/llvm/test/Transforms/IndVarSimplify/ |
D | exit_value_tests.ll | 10 br label %Loop 12 Loop: ; preds = %Loop, %0 13 %A1 = phi i32 [ 0, %0 ], [ %A2, %Loop ] ; <i32> [#uses=3] 14 %B1 = phi i32 [ 0, %0 ], [ %B2, %Loop ] ; <i32> [#uses=1] 18 br i1 %C, label %Out, label %Loop 20 Out: ; preds = %Loop 26 br label %Loop 28 Loop: ; preds = %Loop, %0 29 %X = phi i32 [ 0, %0 ], [ %X2, %Loop ] ; <i32> [#uses=4] 32 br i1 %c, label %Out, label %Loop [all …]
|
D | 2003-09-23-NotAtTop.ll | 8 br label %Loop 10 Loop: ; preds = %Loop, %0 11 ; CHECK: Loop: 13 %NonIndvar = phi i32 [ 200, %0 ], [ %NonIndvarNext, %Loop ] ; <i32> [#uses=1] 14 %Canonical = phi i32 [ 0, %0 ], [ %CanonicalNext, %Loop ] ; <i32> [#uses=2] 18 br label %Loop
|
/external/v8/src/compiler/ |
D | loop-analysis.h | 36 class Loop { 38 Loop* parent() const { return parent_; } in parent() 39 const ZoneVector<Loop*>& children() const { return children_; } in children() 49 explicit Loop(Zone* zone) in Loop() function 56 Loop* parent_; 58 ZoneVector<Loop*> children_; 65 Loop* ContainingLoop(Node* node) { in ContainingLoop() 73 bool Contains(Loop* loop, Node* node) { in Contains() 74 for (Loop* c = ContainingLoop(node); c != nullptr; c = c->parent_) { in Contains() 81 const ZoneVector<Loop*>& outer_loops() const { return outer_loops_; } in outer_loops() [all …]
|
/external/llvm/lib/Analysis/ |
D | LoopInfo.cpp | 37 template class llvm::LoopBase<BasicBlock, Loop>; 38 template class llvm::LoopInfoBase<BasicBlock, Loop>; 59 bool Loop::isLoopInvariant(const Value *V) const { in isLoopInvariant() 67 bool Loop::hasLoopInvariantOperands(const Instruction *I) const { in hasLoopInvariantOperands() 80 bool Loop::makeLoopInvariant(Value *V, bool &Changed, in makeLoopInvariant() 96 bool Loop::makeLoopInvariant(Instruction *I, bool &Changed, in makeLoopInvariant() 142 PHINode *Loop::getCanonicalInductionVariable() const { in getCanonicalInductionVariable() 179 bool Loop::isLCSSAForm(DominatorTree &DT) const { in isLCSSAForm() 210 bool Loop::isRecursivelyLCSSAForm(DominatorTree &DT) const { in isRecursivelyLCSSAForm() 214 return std::all_of(begin(), end(), [&](const Loop *L) { in isRecursivelyLCSSAForm() [all …]
|
D | BlockFrequencyInfoImpl.cpp | 323 const LoopData *OuterLoop, LoopData &Loop, Distribution &Dist) { in addLoopSuccessorsToDist() argument 325 for (const auto &I : Loop.Exits) in addLoopSuccessorsToDist() 326 if (!addToDist(Dist, OuterLoop, Loop.getHeader(), I.first, in addLoopSuccessorsToDist() 335 void BlockFrequencyInfoImplBase::computeLoopScale(LoopData &Loop) { in computeLoopScale() argument 337 DEBUG(dbgs() << "compute-loop-scale: " << getLoopName(Loop) << "\n"); in computeLoopScale() 353 for (auto &Mass : Loop.BackedgeMass) in computeLoopScale() 360 Loop.Scale = in computeLoopScale() 365 << " - scale = " << Loop.Scale << "\n"); in computeLoopScale() 369 void BlockFrequencyInfoImplBase::packageLoop(LoopData &Loop) { in packageLoop() argument 370 DEBUG(dbgs() << "packaging-loop: " << getLoopName(Loop) << "\n"); in packageLoop() [all …]
|
/external/llvm/include/llvm/Analysis/ |
D | LoopPass.h | 40 virtual bool runOnLoop(Loop *L, LPPassManager &LPM) = 0; 46 virtual bool doInitialization(Loop *L, LPPassManager &LPM) { in doInitialization() 80 virtual void cloneBasicBlockAnalysis(BasicBlock *F, BasicBlock *T, Loop *L) {} in cloneBasicBlockAnalysis() 83 virtual void deleteAnalysisValue(Value *V, Loop *L) {} in deleteAnalysisValue() 88 virtual void deleteAnalysisLoop(Loop *L) {} in deleteAnalysisLoop() 93 bool skipOptnoneFunction(const Loop *L) const; 132 Loop &addLoop(Loop *ParentLoop); 143 void cloneBasicBlockSimpleAnalysis(BasicBlock *From, BasicBlock *To, Loop *L); 147 void deleteSimpleAnalysisValue(Value *V, Loop *L); 151 void deleteSimpleAnalysisLoop(Loop *L); [all …]
|
D | DependenceAnalysis.h | 50 class Loop; variable 394 const Loop *AssociatedLoop; 439 const Loop *getAssociatedLoop() const; 442 void setPoint(const SCEV *X, const SCEV *Y, const Loop *CurrentLoop); 446 const SCEV *C, const Loop *CurrentLoop); 449 void setDistance(const SCEV *D, const Loop *CurrentLoop); 519 unsigned mapSrcLoop(const Loop *SrcLoop) const; 523 unsigned mapDstLoop(const Loop *DstLoop) const; 527 bool isLoopInvariant(const SCEV *Expression, const Loop *LoopNest) const; 544 const Loop *LoopNest, [all …]
|
D | BlockFrequencyInfoImpl.h | 39 class Loop; variable 249 LoopData *Loop; ///< The loop this block is inside. 252 WorkingData(const BlockNode &Node) : Node(Node), Loop(nullptr) {} 254 bool isLoopHeader() const { return Loop && Loop->isHeader(Node); } 256 return isLoopHeader() && Loop->Parent && Loop->Parent->isIrreducible() && 257 Loop->Parent->isHeader(Node); 262 return Loop; 264 return Loop->Parent; 265 return Loop->Parent->Parent; 286 if (!Loop || !Loop->IsPackaged) [all …]
|
D | ScalarEvolution.h | 48 class Loop; variable 501 DenseMap<const Loop*, BackedgeTakenInfo> BackedgeTakenCounts; 513 SmallVector<std::pair<const Loop *, const SCEV *>, 2> > ValuesAtScopes; 517 SmallVector<PointerIntPair<const Loop *, 2, LoopDisposition>, 2>> 521 LoopDisposition computeLoopDisposition(const SCEV *S, const Loop *L); 583 const SCEV *computeSCEVAtScope(const SCEV *S, const Loop *L); 592 const BackedgeTakenInfo &getBackedgeTakenInfo(const Loop *L); 595 BackedgeTakenInfo computeBackedgeTakenCount(const Loop *L); 599 ExitLimit computeExitLimit(const Loop *L, BasicBlock *ExitingBlock); 604 ExitLimit computeExitLimitFromCond(const Loop *L, [all …]
|
D | ScalarEvolutionExpander.h | 52 DenseMap<const SCEV *, const Loop *> RelevantLoops; 63 const Loop *IVIncInsertLoop; 124 bool isHighCostExpansion(const SCEV *Expr, Loop *L, 134 PHINode *getOrInsertCanonicalInductionVariable(const Loop *L, Type *Ty); 145 unsigned replaceCongruentIVs(Loop *L, const DominatorTree *DT, 171 void setIVIncInsertPos(const Loop *L, Instruction *Pos) { 225 Value *findExistingExpansion(const SCEV *S, const Instruction *At, Loop *L); 231 bool isHighCostExpansionHelper(const SCEV *S, Loop *L, 266 const Loop *getRelevantLoop(const SCEV *); 296 bool isNormalAddRecExprPHI(PHINode *PN, Instruction *IncV, const Loop *L); [all …]
|
/external/llvm/test/Analysis/BasicAA/ |
D | store-promote.ll | 14 br label %Loop 16 Loop: ; preds = %Loop, %0 19 br i1 %c, label %Out, label %Loop 21 Out: ; preds = %Loop 25 ; The Loop block should be empty after the load/store are promoted. 28 ; CHECK: Loop: 29 ; CHECK-NEXT: br i1 %c, label %Out, label %Loop 35 br label %Loop 37 Loop: ; preds = %Loop, %0 44 br i1 %c, label %Out, label %Loop [all …]
|
/external/llvm/test/Transforms/LoopStrengthReduce/ |
D | dont_insert_redundant_ops.ll | 12 br label %Loop 13 Loop: ; preds = %Loop, %0 14 %INDVAR = phi i32 [ 0, %0 ], [ %INDVAR2, %Loop ] ; <i32> [#uses=3] 21 br i1 %cond, label %Loop, label %Out 22 Out: ; preds = %Loop 28 br label %Loop 29 Loop: ; preds = %Loop, %0 30 %INDVAR = phi i32 [ 0, %0 ], [ %INDVAR2, %Loop ] ; <i32> [#uses=3] 37 br i1 %cond, label %Loop, label %Out 38 Out: ; preds = %Loop
|
D | remove_indvar.ll | 11 br label %Loop 12 Loop: ; preds = %Loop, %0 13 %i = phi i32 [ 0, %0 ], [ %i.next, %Loop ] 14 %INDVAR = phi i32 [ 0, %0 ], [ %INDVAR2, %Loop ] ; <i32> [#uses=2] 20 br i1 %cond, label %Loop, label %Out 21 Out: ; preds = %Loop
|
/external/llvm/test/Transforms/LoopSimplify/ |
D | hardertest.ll | 6 br label %Loop 8 br label %Loop 9 Loop: ; preds = %L2, %Loop, %F, %T 10 %Val = phi i32 [ 0, %T ], [ 1, %F ], [ 2, %Loop ], [ 3, %L2 ] ; <i32> [#uses=0] 11 br i1 %C, label %Loop, label %L2 12 L2: ; preds = %Loop 13 br label %Loop
|
/external/llvm/lib/Target/WebAssembly/ |
D | WebAssemblyCFGStackify.cpp | 114 static bool LoopContains(const MachineLoop *Loop, in LoopContains() argument 116 return Loop ? Loop->contains(MBB) : true; in LoopContains() 125 MachineLoop *Loop = MLI.getLoopFor(MBB); in POStackEntry() local 136 bool LoopContainsA = LoopContains(Loop, A); in POStackEntry() 137 bool LoopContainsB = LoopContains(Loop, B); in POStackEntry() 159 static MachineBasicBlock *LoopBottom(const MachineLoop *Loop) { in LoopBottom() argument 160 MachineBasicBlock *Bottom = Loop->getHeader(); in LoopBottom() 161 for (MachineBasicBlock *MBB : Loop->blocks()) in LoopBottom() 227 MachineLoop *Loop = MLI.getLoopFor(&MBB); in SortBlocks() local 228 if (Loop && &MBB == Loop->getHeader()) { in SortBlocks() [all …]
|
/external/llvm/test/Transforms/LICM/ |
D | sinking.ll | 9 br label %Loop 11 Loop: ; preds = %Loop, %0 13 br i1 false, label %Loop, label %Out 15 Out: ; preds = %Loop 27 br label %Loop 29 Loop: ; preds = %Loop, %0 32 br i1 true, label %Loop, label %Out 34 Out: ; preds = %Loop 46 br i1 false, label %Loop, label %Exit 47 Loop: [all …]
|
D | scalar_promote.ll | 8 br label %Loop 12 ; CHECK-NEXT: br label %Loop 15 Loop: ; preds = %Loop, %0 16 %j = phi i32 [ 0, %Entry ], [ %Next, %Loop ] ; <i32> [#uses=1] 22 br i1 %cond, label %Out, label %Loop 35 br label %Loop 39 ; CHECK-NEXT: br label %Loop 41 Loop: ; preds = %Loop, %0 47 br i1 false, label %Loop, label %Exit 49 Exit: ; preds = %Loop [all …]
|
D | no-preheader-test.ll | 7 br label %Loop 9 br label %Loop 10 Loop: ; preds = %Loop, %Else, %Then 11 %j = phi i32 [ 0, %Then ], [ 12, %Else ], [ %Next, %Loop ] ; <i32> [#uses=1] 16 br i1 %cond, label %Out, label %Loop 17 Out: ; preds = %Loop
|
/external/llvm/test/Analysis/ScalarEvolution/ |
D | trip-count9.ll | 12 ; CHECK: Loop %loop: backedge-taken count is (-1 + %n) 13 ; CHECK: Loop %loop: max backedge-taken count is 6 28 ; CHECK: Loop %loop: Unpredictable backedge-taken count. 29 ; CHECK: Loop %loop: Unpredictable max backedge-taken count. 44 ; CHECK: Loop %loop: backedge-taken count is (-2 + (2 smax %n)) 45 ; CHECK: Loop %loop: max backedge-taken count is 5 60 ; CHECK: Loop %loop: Unpredictable backedge-taken count. 61 ; CHECK: Loop %loop: Unpredictable max backedge-taken count. 76 ; CHECK: Loop %loop: backedge-taken count is (-1 + (-1 * %x) + ((1 + %x) smax %n)) 77 ; CHECK: Loop %loop: max backedge-taken count is -1 [all …]
|
/external/llvm/test/Assembler/ |
D | 2002-08-22-DominanceProblem.ll | 9 ret i32 7 ; Loop is unreachable 11 Loop: ; preds = %L2, %Loop 12 %B = phi i32 [ %B, %L2 ], [ %B, %Loop ] ;PHI has same value always. 13 br i1 %b, label %L2, label %Loop 15 L2: ; preds = %Loop 16 br label %Loop
|
/external/llvm/test/ExecutionEngine/MCJIT/ |
D | 2003-01-04-PhiTest.ll | 5 br label %Loop 6 Loop: ; preds = %Loop, %0 7 %X = phi i32 [ 0, %0 ], [ 1, %Loop ] ; <i32> [#uses=1] 8 br i1 true, label %Out, label %Loop 9 Out: ; preds = %Loop
|
D | test-loop.ll | 5 br label %Loop 6 Loop: ; preds = %Loop, %0 7 %I = phi i32 [ 0, %0 ], [ %i2, %Loop ] ; <i32> [#uses=1] 10 br i1 %C, label %Out, label %Loop 11 Out: ; preds = %Loop
|
/external/llvm/test/ExecutionEngine/OrcMCJIT/ |
D | 2003-01-04-PhiTest.ll | 5 br label %Loop 6 Loop: ; preds = %Loop, %0 7 %X = phi i32 [ 0, %0 ], [ 1, %Loop ] ; <i32> [#uses=1] 8 br i1 true, label %Out, label %Loop 9 Out: ; preds = %Loop
|
D | test-loop.ll | 5 br label %Loop 6 Loop: ; preds = %Loop, %0 7 %I = phi i32 [ 0, %0 ], [ %i2, %Loop ] ; <i32> [#uses=1] 10 br i1 %C, label %Out, label %Loop 11 Out: ; preds = %Loop
|
/external/llvm/test/Transforms/SCCP/ |
D | calltest.ll | 10 br label %Loop 11 Loop: ; preds = %Loop, %entry 12 %I2 = phi i32 [ 0, %entry ], [ %I3, %Loop ] ; <i32> [#uses=1] 13 %V = phi double [ 1.000000e+00, %entry ], [ %V2, %Loop ] ; <double> [#uses=2] 17 br i1 %tmp.7, label %Loop, label %Exit 18 Exit: ; preds = %Loop
|