HomeSort by relevance Sort by last modified time
    Searched refs:Preheader (Results 1 - 14 of 14) sorted by null

  /external/llvm/lib/CodeGen/
MachineLICM.cpp 82 MachineBasicBlock *CurPreheader; // The preheader for CurLoop.
100 // Register pressure on path leading from loop preheader to current BB.
162 /// invariants out to the preheader.
213 /// effect of hoisting MI from the current block to the preheader.
252 /// of the preheader to initialize the starting "register pressure". Note
272 /// the preheader that compute the same value. If it's found, do a RAU on
274 /// the instruction to the preheader.
285 bool Hoist(MachineInstr *MI, MachineBasicBlock *Preheader);
288 /// current loop preheader that may become duplicates of instructions that
292 /// getCurPreheader - Get the preheader for the current loop, splittin
    [all...]
  /external/llvm/lib/Target/PowerPC/
PPCCTRLoops.cpp 499 BasicBlock *Preheader = L->getLoopPreheader();
501 // If we don't have a preheader, then insert one. If we already have a
502 // preheader, then we can use it (except if the preheader contains a use of
505 if (!Preheader || mightUseCTR(TT, Preheader))
506 Preheader = InsertPreheaderForLoop(L, this);
507 if (!Preheader)
510 DEBUG(dbgs() << "Preheader for exit count: " << Preheader->getName() << "\n")
    [all...]
  /external/llvm/lib/Transforms/Utils/
LoopSimplify.cpp 72 // block' block. This prevents the preheader from being placed inside the loop
109 /// preheader, this method is called to insert one. This method has two phases:
110 /// preheader insertion and analysis updating.
134 PreheaderBB = SplitBlockPredecessors(Header, OutsideBlocks, ".preheader",
138 SplitLandingPadPredecessors(Header, OutsideBlocks, ".preheader",
155 /// \brief Ensure that the loop preheader dominates all exit blocks.
253 static Loop *separateNestedLoop(Loop *L, BasicBlock *Preheader,
256 // Don't try to separate loops without a preheader.
257 if (!Preheader)
260 // The header is not a landing pad; preheader insertion should ensure this
    [all...]
IntegerDivision.cpp 198 // | | | preheader |
226 BasicBlock *Preheader = BasicBlock::Create(Builder.getContext(),
227 "udiv-preheader", F, End);
270 // ; br i1 %skipLoop, label %loop-exit, label %preheader
276 Builder.CreateCondBr(SkipLoop, LoopExit, Preheader);
278 // ; preheader: ; preds = %bb1
282 Builder.SetInsertPoint(Preheader);
287 // ; do-while: ; preds = %do-while, %preheader
288 // ; %carry_1 = phi i32 [ 0, %preheader ], [ %carry, %do-while ]
289 // ; %sr_3 = phi i32 [ %sr_1, %preheader ], [ %sr_2, %do-while
    [all...]
LoopUnroll.cpp 150 BasicBlock *Preheader = L->getLoopPreheader();
151 if (!Preheader) {
152 DEBUG(dbgs() << " Can't unroll; loop preheader-insertion failed.\n");
357 PN->replaceAllUsesWith(PN->getIncomingValueForBlock(Preheader));
LoopUnrollRuntime.cpp 78 // Adding a value to the new PHI node from the original loop preheader.
147 BasicBlock *Preheader = L->getLoopPreheader();
173 // We replace the first phi node with the value from the preheader
174 VMap[I] = NewPHI->getIncomingValueForBlock(Preheader);
272 // It helps to splits the original preheader twice, one for the end of the
273 // prolog code and one for a new loop preheader
299 "CFG edges in Preheader are not correct");
  /external/llvm/lib/Target/Hexagon/
HexagonHardwareLoops.cpp 145 /// to the loop's preheader.
213 /// \brief Given a loop, if it does not have a preheader, create one.
214 /// Return the block that is the preheader.
325 MachineBasicBlock *Preheader = L->getLoopPreheader();
327 if (!Header || !Preheader || !Latch)
466 MachineBasicBlock *Preheader = L->getLoopPreheader();
472 if (MBB == Preheader)
694 // a computation of it into the preheader.
702 assert (PH && "Should have a preheader by now");
    [all...]
  /external/llvm/lib/Transforms/Scalar/
LoopDeletion.cpp 57 bool &Changed, BasicBlock *Preheader);
83 bool &Changed, BasicBlock *Preheader) {
105 if (!L->makeLoopInvariant(I, Changed, Preheader->getTerminator()))
137 // We can only remove the loop if there is a preheader that we can
139 BasicBlock *preheader = L->getLoopPreheader();
140 if (!preheader)
167 if (!isLoopDead(L, exitingBlocks, exitBlocks, Changed, preheader))
178 // branch from the preheader to go to the single exit block.
190 // Connect the preheader directly to the exit block.
191 TerminatorInst *TI = preheader->getTerminator()
    [all...]
LICM.cpp 12 // code into the preheader block, or by sinking code to the exit blocks if it is
117 BasicBlock *Preheader; // The preheader block of the current loop...
259 // Get the preheader block to move instructions into...
260 Preheader = L->getLoopPreheader();
294 if (Preheader)
299 if (!DisablePromotion && (Preheader || L->hasDedicatedExits())) {
328 Preheader = nullptr;
417 // Try hoisting the instruction out to the preheader. We can only do this
624 DEBUG(dbgs() << "LICM hoisting to " << Preheader->getName() << ":
    [all...]
LoopIdiomRecognize.cpp 84 /// preheader) from the given preheader.
282 // A typical usage of this function is to check if the preheader function is
284 // the preheader and be placed at the end of the precondition block without
331 // It should have a preheader containing nothing but a goto instruction.
532 // it back from the precondition block to the preheader.
    [all...]
IndVarSimplify.cpp     [all...]
LoopRerollPass.cpp 71 // %iv = phi [ (preheader, ...), (body, %iv.next) ]
107 // %iv = phi [ (preheader, ...), (body, %iv.next) ]
531 // %iv = phi [ (preheader, ...), (body, %iv.next) ]
730 // %iv = phi [ (preheader, ...), (body, %iv.next) ]
    [all...]
  /external/llvm/lib/Analysis/
ScalarEvolutionExpander.cpp 185 BasicBlock *Preheader = L->getLoopPreheader();
186 if (!Preheader) break;
189 Builder.SetInsertPoint(Preheader, Preheader->getTerminator());
556 BasicBlock *Preheader = L->getLoopPreheader();
557 if (!Preheader) break;
560 Builder.SetInsertPoint(Preheader, Preheader->getTerminator());
587 BasicBlock *Preheader = L->getLoopPreheader();
588 if (!Preheader) break
    [all...]
LoopInfo.cpp 84 /// If null, the terminator of the loop preheader is used.
100 /// If null, the terminator of the loop preheader is used.
116 BasicBlock *Preheader = getLoopPreheader();
117 // Without a preheader, hoisting is not feasible.
118 if (!Preheader)
120 InsertPt = Preheader->getTerminator();
206 // Normal-form loops have a preheader, a single backedge, and all of their

Completed in 268 milliseconds