/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
|