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);
208 // Does the loop already have a preheader? If so, don't insert one.
209 BasicBlock *Preheader = L->getLoopPreheader();
210 if (!Preheader) {
211 Preheader = InsertPreheaderForLoop(L);
212 if (Preheader) {
220 // loop preheader/header will dominate the exit blocks. If the exit block has
244 // preheader and from multiple backedges), we must adjust the loop.
251 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/Target/PowerPC/
PPCCTRLoops.cpp 639 MachineBasicBlock *Preheader = L->getLoopPreheader();
640 // No preheader means there's not place for the loop instr.
641 if (Preheader == 0) {
644 MachineBasicBlock::iterator InsertPos = Preheader->getFirstTerminator();
647 if (InsertPos != Preheader->end())
691 BuildMI(*Preheader, InsertPos, dl,
696 BuildMI(*Preheader, InsertPos, dl,
710 BuildMI(*Preheader, InsertPos, dl,
715 BuildMI(*Preheader, InsertPos, dl,
719 BuildMI(*Preheader, InsertPos, dl
    [all...]
  /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/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 41 bool &Changed, BasicBlock *Preheader);
80 bool &Changed, BasicBlock *Preheader) {
102 if (!L->makeLoopInvariant(I, Changed, Preheader->getTerminator()))
131 // We can only remove the loop if there is a preheader that we can
133 BasicBlock* preheader = L->getLoopPreheader(); local
134 if (!preheader)
161 if (!IsLoopDead(L, exitingBlocks, exitBlocks, Changed, preheader))
172 // branch from the preheader to go to the single exit block.
184 // Connect the preheader directly to the exit block.
185 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 fucntion is
280 // preheader and to be placed at the end of the preconditiona 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)
700 // a computation of it into the preheader.
708 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());
558 BasicBlock *Preheader = L->getLoopPreheader();
559 if (!Preheader) break;
562 Builder.SetInsertPoint(Preheader, Preheader->getTerminator());
594 BasicBlock *Preheader = L->getLoopPreheader();
595 if (!Preheader) break
    [all...]
LoopInfo.cpp 82 /// If null, the terminator of the loop preheader is used.
98 /// If null, the terminator of the loop preheader is used.
114 BasicBlock *Preheader = getLoopPreheader();
115 // Without a preheader, hoisting is not feasible.
116 if (!Preheader)
118 InsertPt = Preheader->getTerminator();
209 // Normal-form loops have a preheader, a single backedge, and all of their

Completed in 217 milliseconds