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

  /external/llvm/lib/Transforms/Utils/
LoopSimplify.cpp 105 BasicBlock *Preheader);
106 BasicBlock *InsertUniqueBackedgeBlock(Loop *L, BasicBlock *Preheader);
209 // Does the loop already have a preheader? If so, don't insert one.
210 BasicBlock *Preheader = L->getLoopPreheader();
211 if (!Preheader) {
212 Preheader = InsertPreheaderForLoop(L, this);
213 if (Preheader) {
221 // loop preheader/header will dominate the exit blocks. If the exit block has
245 // preheader and from multiple backedges), we must adjust the loop.
252 if (SeparateNestedLoop(L, LPM, Preheader)) {
    [all...]
IntegerDivision.cpp 157 // | | | preheader |
185 BasicBlock *Preheader = BasicBlock::Create(Builder.getContext(),
186 "udiv-preheader", F, End);
227 // ; br i1 %skipLoop, label %loop-exit, label %preheader
233 Builder.CreateCondBr(SkipLoop, LoopExit, Preheader);
235 // ; preheader: ; preds = %bb1
239 Builder.SetInsertPoint(Preheader);
244 // ; do-while: ; preds = %do-while, %preheader
245 // ; %carry_1 = phi i32 [ 0, %preheader ], [ %carry, %do-while ]
246 // ; %sr_3 = phi i32 [ %sr_1, %preheader ], [ %sr_2, %do-while
    [all...]
LoopUnroll.cpp 142 BasicBlock *Preheader = L->getLoopPreheader();
143 if (!Preheader) {
144 DEBUG(dbgs() << " Can't unroll; loop preheader-insertion failed.\n");
334 PN->replaceAllUsesWith(PN->getIncomingValueForBlock(Preheader));
LoopUnrollRuntime.cpp 77 // Adding a value to the new PHI node from the original loop preheader.
146 BasicBlock *Preheader = L->getLoopPreheader();
172 // We replace the first phi node with the value from the preheader
173 VMap[I] = NewPHI->getIncomingValueForBlock(Preheader);
271 // It helps to splits the original preheader twice, one for the end of the
272 // prolog code and one for a new loop preheader
298 "CFG edges in Preheader are not correct");
  /external/llvm/lib/CodeGen/
MachineLICM.cpp 81 MachineBasicBlock *CurPreheader; // The preheader for CurLoop.
99 // Register pressure on path leading from loop preheader to current BB.
161 /// invariants out to the preheader.
212 /// effect of hoisting MI from the current block to the preheader.
251 /// of the preheader to initialize the starting "register pressure". Note
271 /// the preheader that compute the same value. If it's found, do a RAU on
273 /// the instruction to the preheader.
284 bool Hoist(MachineInstr *MI, MachineBasicBlock *Preheader);
287 /// current loop preheader that may become duplicates of instructions that
291 /// getCurPreheader - Get the preheader for the current loop, splittin
    [all...]
  /external/llvm/lib/Target/PowerPC/
PPCCTRLoops.cpp 473 BasicBlock *Preheader = L->getLoopPreheader();
475 // If we don't have a preheader, then insert one. If we already have a
476 // preheader, then we can use it (except if the preheader contains a use of
479 if (!Preheader || mightUseCTR(TT, Preheader))
480 Preheader = InsertPreheaderForLoop(L, this);
481 if (!Preheader)
484 DEBUG(dbgs() << "Preheader for exit count: " << Preheader->getName() << "\n")
    [all...]
  /external/llvm/lib/Transforms/Scalar/
LICM.cpp 12 // code into the preheader block, or by sinking code to the exit blocks if it is
111 BasicBlock *Preheader; // The preheader block of the current loop...
235 // Get the preheader block to move instructions into...
236 Preheader = L->getLoopPreheader();
270 if (Preheader)
275 if (!DisablePromotion && Preheader && L->hasDedicatedExits()) {
287 Preheader = 0;
376 // Try hoisting the instruction out to the preheader. We can only do this
601 DEBUG(dbgs() << "LICM hoisting to " << Preheader->getName() << ":
    [all...]
LoopDeletion.cpp 56 bool &Changed, BasicBlock *Preheader);
82 bool &Changed, BasicBlock *Preheader) {
104 if (!L->makeLoopInvariant(I, Changed, Preheader->getTerminator()))
133 // We can only remove the loop if there is a preheader that we can
135 BasicBlock *preheader = L->getLoopPreheader(); local
136 if (!preheader)
163 if (!isLoopDead(L, exitingBlocks, exitBlocks, Changed, preheader))
174 // branch from the preheader to go to the single exit block.
186 // Connect the preheader directly to the exit block.
187 TerminatorInst *TI = preheader->getTerminator()
    [all...]
LoopIdiomRecognize.cpp 85 /// preheader) from the given preheader.
278 // A typical usage of this function is to check if the preheader function is
280 // the preheader and be placed at the end of the precondition block without
332 // It should have a preheader containing nothing but a goto instruction.
534 // it back from the precondition block to the preheader.
    [all...]
IndVarSimplify.cpp     [all...]
  /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/Analysis/
ScalarEvolutionExpander.cpp 185 BasicBlock *Preheader = L->getLoopPreheader();
186 if (!Preheader) break;
189 Builder.SetInsertPoint(Preheader, Preheader->getTerminator());
557 BasicBlock *Preheader = L->getLoopPreheader();
558 if (!Preheader) break;
561 Builder.SetInsertPoint(Preheader, Preheader->getTerminator());
593 BasicBlock *Preheader = L->getLoopPreheader();
594 if (!Preheader) break
    [all...]
LoopInfo.cpp 85 /// If null, the terminator of the loop preheader is used.
101 /// If null, the terminator of the loop preheader is used.
117 BasicBlock *Preheader = getLoopPreheader();
118 // Without a preheader, hoisting is not feasible.
119 if (!Preheader)
121 InsertPt = Preheader->getTerminator();
212 // Normal-form loops have a preheader, a single backedge, and all of their

Completed in 545 milliseconds