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

  /external/llvm/lib/Transforms/Utils/
LoopSimplify.cpp 103 BasicBlock *Preheader);
104 BasicBlock *InsertUniqueBackedgeBlock(Loop *L, BasicBlock *Preheader);
201 // Does the loop already have a preheader? If so, don't insert one.
202 BasicBlock *Preheader = L->getLoopPreheader();
203 if (!Preheader) {
204 Preheader = InsertPreheaderForLoop(L);
205 if (Preheader) {
213 // loop preheader/header will dominate the exit blocks. If the exit block has
237 // preheader and from multiple backedges), we must adjust the loop.
244 if (SeparateNestedLoop(L, LPM, Preheader)) {
    [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 589 MachineBasicBlock *Preheader = L->getLoopPreheader();
590 // No preheader means there's not place for the loop instr.
591 if (Preheader == 0) {
594 MachineBasicBlock::iterator InsertPos = Preheader->getFirstTerminator();
597 if (InsertPos != Preheader->end())
641 BuildMI(*Preheader, InsertPos, dl,
646 BuildMI(*Preheader, InsertPos, dl,
659 BuildMI(*Preheader, InsertPos, dl,
664 BuildMI(*Preheader, InsertPos, dl,
668 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
108 BasicBlock *Preheader; // The preheader block of the current loop...
232 // Get the preheader block to move instructions into...
233 Preheader = L->getLoopPreheader();
267 if (Preheader)
272 if (!DisablePromotion && Preheader && L->hasDedicatedExits()) {
284 Preheader = 0;
373 // Try hoisting the instruction out to the preheader. We can only do this
599 DEBUG(dbgs() << "LICM hoisting to " << Preheader->getName() << ":
    [all...]
LoopIdiomRecognize.cpp 440 /// transform this into a memset or memset_pattern in the loop preheader, do so.
474 // header. This allows us to insert code for it in the preheader.
475 BasicBlock *Preheader = CurLoop->getLoopPreheader();
476 IRBuilder<> Builder(Preheader->getTerminator());
480 // this into a memset in the loop preheader now if we want. However, this
487 Preheader->getTerminator());
513 Expander.expandCodeFor(NumBytesS, IntPtr, Preheader->getTerminator());
563 // header. This allows us to insert code for it in the preheader.
564 BasicBlock *Preheader = CurLoop->getLoopPreheader();
565 IRBuilder<> Builder(Preheader->getTerminator())
    [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...]
IndVarSimplify.cpp     [all...]
  /external/llvm/lib/Target/Hexagon/
HexagonHardwareLoops.cpp 451 MachineBasicBlock *Preheader = L->getLoopPreheader();
452 // No preheader means there's not place for the loop instr.
453 if (Preheader == 0) {
456 MachineBasicBlock::iterator InsertPos = Preheader->getFirstTerminator();
488 BuildMI(*Preheader, InsertPos, InsertPos->getDebugLoc(),
493 BuildMI(*Preheader, InsertPos, InsertPos->getDebugLoc(),
498 BuildMI(*Preheader, InsertPos, InsertPos->getDebugLoc(),
504 BuildMI(*Preheader, InsertPos, InsertPos->getDebugLoc(),
  /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 81 /// If null, the terminator of the loop preheader is used.
97 /// If null, the terminator of the loop preheader is used.
113 BasicBlock *Preheader = getLoopPreheader();
114 // Without a preheader, hoisting is not feasible.
115 if (!Preheader)
117 InsertPt = Preheader->getTerminator();
208 // Normal-form loops have a preheader, a single backedge, and all of their

Completed in 286 milliseconds