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