Home
last modified time | relevance | path

Searched refs:OuterLoop (Results 1 – 7 of 7) sorted by relevance

/openbsd-src/gnu/llvm/llvm/lib/Analysis/
H A DLoopNestAnalysis.cpp35 static bool checkLoopsStructure(const Loop &OuterLoop, const Loop &InnerLoop,
52 static CmpInst *getOuterLoopLatchCmp(const Loop &OuterLoop) { in getOuterLoopLatchCmp() argument
54 const BasicBlock *Latch = OuterLoop.getLoopLatch(); in getOuterLoopLatchCmp()
103 bool LoopNest::arePerfectlyNested(const Loop &OuterLoop, const Loop &InnerLoop, in arePerfectlyNested() argument
105 return (analyzeLoopNestForPerfectNest(OuterLoop, InnerLoop, SE) == in arePerfectlyNested()
110 const Loop &OuterLoop, const Loop &InnerLoop, ScalarEvolution &SE) { in analyzeLoopNestForPerfectNest() argument
112 assert(!OuterLoop.isInnermost() && "Outer loop should have subloops"); in analyzeLoopNestForPerfectNest()
114 LLVM_DEBUG(dbgs() << "Checking whether loop '" << OuterLoop.getName() in analyzeLoopNestForPerfectNest()
124 if (!checkLoopsStructure(OuterLoop, InnerLoop, SE)) { in analyzeLoopNestForPerfectNest()
130 auto OuterLoopLB = OuterLoop.getBounds(SE); in analyzeLoopNestForPerfectNest()
[all …]
H A DBlockFrequencyInfoImpl.cpp312 const LoopData *OuterLoop, in addToDist() argument
319 auto isLoopHeader = [&OuterLoop](const BlockNode &Node) { in addToDist()
320 return OuterLoop && OuterLoop->isHeader(Node); in addToDist()
344 if (Working[Resolved.Index].getContainingLoop() != OuterLoop) { in addToDist()
353 assert((!OuterLoop || !OuterLoop->isIrreducible()) && in addToDist()
364 assert(OuterLoop && OuterLoop->isIrreducible() && !isLoopHeader(Resolved) && in addToDist()
374 const LoopData *OuterLoop, LoopData &Loop, Distribution &Dist) { in addLoopSuccessorsToDist() argument
377 if (!addToDist(Dist, OuterLoop, Loop.getHeader(), I.first, in addLoopSuccessorsToDist()
447 LoopData *OuterLoop, in distributeMass() argument
465 assert(OuterLoop && "backedge or exit outside of loop"); in distributeMass()
[all …]
/openbsd-src/gnu/llvm/llvm/lib/Transforms/Scalar/
H A DLoopInterchange.cpp250 : OuterLoop(Outer), InnerLoop(Inner), SE(SE), ORE(ORE) {} in LoopInterchangeLegality()
286 Loop *OuterLoop; member in __anon50ce586c0211::LoopInterchangeLegality
308 : OuterLoop(Outer), InnerLoop(Inner), SE(SE), ORE(ORE) {} in LoopInterchangeProfitability()
311 bool isProfitable(const Loop *InnerLoop, const Loop *OuterLoop,
326 Loop *OuterLoop; member in __anon50ce586c0211::LoopInterchangeProfitability
342 : OuterLoop(Outer), InnerLoop(Inner), SE(SE), LI(LI), DT(DT), LIL(LIL) {} in LoopInterchangeTransform()
349 void removeChildLoop(Loop *OuterLoop, Loop *InnerLoop);
355 Loop *OuterLoop; member in __anon50ce586c0211::LoopInterchangeTransform
508 bool processLoop(Loop *InnerLoop, Loop *OuterLoop, unsigned InnerLoopId, in processLoop()
514 LoopInterchangeLegality LIL(OuterLoop, InnerLoop, SE, ORE); in processLoop()
[all …]
H A DLoopFlatten.cpp113 Loop *OuterLoop = nullptr; // The loop pair to be flattened. member
147 FlattenInfo(Loop *OL, Loop *IL) : OuterLoop(OL), InnerLoop(IL){}; in FlattenInfo()
498 if (!OuterPHI || OuterPHI->getParent() != FI.OuterLoop->getHeader()) { in checkPHIs()
508 OuterPHI->getIncomingValueForBlock(FI.OuterLoop->getLoopLatch())); in checkPHIs()
529 for (PHINode &OuterPHI : FI.OuterLoop->getHeader()->phis()) { in checkPHIs()
552 for (auto *B : FI.OuterLoop->getBlocks()) { in checkOuterLoopInsts()
636 Function *F = FI.OuterLoop->getHeader()->getParent(); in checkOverflow()
647 FI.OuterLoop->getLoopPreheader()->getTerminator(), DT); in checkOverflow()
691 if (!findLoopComponents(FI.OuterLoop, IterationInstructions, in CanFlattenLoopPair()
698 if (!FI.OuterLoop->isLoopInvariant(FI.InnerTripCount)) { in CanFlattenLoopPair()
[all …]
H A DLoopSimplifyCFG.cpp387 if (Loop *OuterLoop = LI.getLoopFor(Preheader)) { in handleDeadExits() local
396 if (StillReachable != OuterLoop) { in handleDeadExits()
398 removeBlockFromLoops(NewPreheader, OuterLoop, StillReachable); in handleDeadExits()
400 removeBlockFromLoops(BB, OuterLoop, StillReachable); in handleDeadExits()
401 OuterLoop->removeChildLoop(&L); in handleDeadExits()
410 Loop *FixLCSSALoop = OuterLoop; in handleDeadExits()
/openbsd-src/gnu/llvm/llvm/include/llvm/Analysis/
H A DBlockFrequencyInfoImpl.h445 bool addLoopSuccessorsToDist(const LoopData *OuterLoop, LoopData &Loop,
455 bool addToDist(Distribution &Dist, const LoopData *OuterLoop,
466 analyzeIrreducible(const bfi_detail::IrreducibleGraph &G, LoopData *OuterLoop,
475 void updateLoopWithIrreducible(LoopData &OuterLoop);
483 void distributeMass(const BlockNode &Source, LoopData *OuterLoop,
637 IrreducibleGraph(BFIBase &BFI, const BFIBase::LoopData *OuterLoop,
639 initialize(OuterLoop, addBlockEdges);
643 void initialize(const BFIBase::LoopData *OuterLoop,
645 void addNodesInLoop(const BFIBase::LoopData &OuterLoop);
655 void addEdges(const BlockNode &Node, const BFIBase::LoopData *OuterLoop,
[all …]
H A DLoopNestAnalysis.h51 static bool arePerfectlyNested(const Loop &OuterLoop, const Loop &InnerLoop,
56 static InstrVectorTy getInterveningInstructions(const Loop &OuterLoop,
193 static LoopNestEnum analyzeLoopNestForPerfectNest(const Loop &OuterLoop,