/external/llvm/lib/CodeGen/ |
MachineLICM.cpp | 82 MachineBasicBlock *CurPreheader; // The preheader for CurLoop. 100 // Register pressure on path leading from loop preheader to current BB. 162 /// invariants out to the preheader. 213 /// effect of hoisting MI from the current block to the preheader. 252 /// of the preheader to initialize the starting "register pressure". Note 272 /// the preheader that compute the same value. If it's found, do a RAU on 274 /// the instruction to the preheader. 285 bool Hoist(MachineInstr *MI, MachineBasicBlock *Preheader); 288 /// current loop preheader that may become duplicates of instructions that 292 /// getCurPreheader - Get the preheader for the current loop, splittin [all...] |
/external/llvm/lib/Target/PowerPC/ |
PPCCTRLoops.cpp | 499 BasicBlock *Preheader = L->getLoopPreheader(); 501 // If we don't have a preheader, then insert one. If we already have a 502 // preheader, then we can use it (except if the preheader contains a use of 505 if (!Preheader || mightUseCTR(TT, Preheader)) 506 Preheader = InsertPreheaderForLoop(L, this); 507 if (!Preheader) 510 DEBUG(dbgs() << "Preheader for exit count: " << Preheader->getName() << "\n") [all...] |
/external/llvm/lib/Transforms/Utils/ |
LoopSimplify.cpp | 72 // block' block. This prevents the preheader from being placed inside the loop 109 /// preheader, this method is called to insert one. This method has two phases: 110 /// preheader insertion and analysis updating. 134 PreheaderBB = SplitBlockPredecessors(Header, OutsideBlocks, ".preheader", 138 SplitLandingPadPredecessors(Header, OutsideBlocks, ".preheader", 155 /// \brief Ensure that the loop preheader dominates all exit blocks. 253 static Loop *separateNestedLoop(Loop *L, BasicBlock *Preheader, 256 // Don't try to separate loops without a preheader. 257 if (!Preheader) 260 // The header is not a landing pad; preheader insertion should ensure this [all...] |
IntegerDivision.cpp | 198 // | | | preheader | 226 BasicBlock *Preheader = BasicBlock::Create(Builder.getContext(), 227 "udiv-preheader", F, End); 270 // ; br i1 %skipLoop, label %loop-exit, label %preheader 276 Builder.CreateCondBr(SkipLoop, LoopExit, Preheader); 278 // ; preheader: ; preds = %bb1 282 Builder.SetInsertPoint(Preheader); 287 // ; do-while: ; preds = %do-while, %preheader 288 // ; %carry_1 = phi i32 [ 0, %preheader ], [ %carry, %do-while ] 289 // ; %sr_3 = phi i32 [ %sr_1, %preheader ], [ %sr_2, %do-while [all...] |
LoopUnroll.cpp | 150 BasicBlock *Preheader = L->getLoopPreheader(); 151 if (!Preheader) { 152 DEBUG(dbgs() << " Can't unroll; loop preheader-insertion failed.\n"); 357 PN->replaceAllUsesWith(PN->getIncomingValueForBlock(Preheader));
|
LoopUnrollRuntime.cpp | 78 // Adding a value to the new PHI node from the original loop preheader. 147 BasicBlock *Preheader = L->getLoopPreheader(); 173 // We replace the first phi node with the value from the preheader 174 VMap[I] = NewPHI->getIncomingValueForBlock(Preheader); 272 // It helps to splits the original preheader twice, one for the end of the 273 // prolog code and one for a new loop preheader 299 "CFG edges in Preheader are not correct");
|
/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/Transforms/Scalar/ |
LoopDeletion.cpp | 57 bool &Changed, BasicBlock *Preheader); 83 bool &Changed, BasicBlock *Preheader) { 105 if (!L->makeLoopInvariant(I, Changed, Preheader->getTerminator())) 137 // We can only remove the loop if there is a preheader that we can 139 BasicBlock *preheader = L->getLoopPreheader(); 140 if (!preheader) 167 if (!isLoopDead(L, exitingBlocks, exitBlocks, Changed, preheader)) 178 // branch from the preheader to go to the single exit block. 190 // Connect the preheader directly to the exit block. 191 TerminatorInst *TI = preheader->getTerminator() [all...] |
LICM.cpp | 12 // code into the preheader block, or by sinking code to the exit blocks if it is 117 BasicBlock *Preheader; // The preheader block of the current loop... 259 // Get the preheader block to move instructions into... 260 Preheader = L->getLoopPreheader(); 294 if (Preheader) 299 if (!DisablePromotion && (Preheader || L->hasDedicatedExits())) { 328 Preheader = nullptr; 417 // Try hoisting the instruction out to the preheader. We can only do this 624 DEBUG(dbgs() << "LICM hoisting to " << Preheader->getName() << ": [all...] |
LoopIdiomRecognize.cpp | 84 /// preheader) from the given preheader. 282 // A typical usage of this function is to check if the preheader function is 284 // the preheader and be placed at the end of the precondition block without 331 // It should have a preheader containing nothing but a goto instruction. 532 // it back from the precondition block to the preheader. [all...] |
IndVarSimplify.cpp | [all...] |
LoopRerollPass.cpp | 71 // %iv = phi [ (preheader, ...), (body, %iv.next) ] 107 // %iv = phi [ (preheader, ...), (body, %iv.next) ] 531 // %iv = phi [ (preheader, ...), (body, %iv.next) ] 730 // %iv = phi [ (preheader, ...), (body, %iv.next) ] [all...] |
/external/llvm/lib/Analysis/ |
ScalarEvolutionExpander.cpp | 185 BasicBlock *Preheader = L->getLoopPreheader(); 186 if (!Preheader) break; 189 Builder.SetInsertPoint(Preheader, Preheader->getTerminator()); 556 BasicBlock *Preheader = L->getLoopPreheader(); 557 if (!Preheader) break; 560 Builder.SetInsertPoint(Preheader, Preheader->getTerminator()); 587 BasicBlock *Preheader = L->getLoopPreheader(); 588 if (!Preheader) break [all...] |
LoopInfo.cpp | 84 /// If null, the terminator of the loop preheader is used. 100 /// If null, the terminator of the loop preheader is used. 116 BasicBlock *Preheader = getLoopPreheader(); 117 // Without a preheader, hoisting is not feasible. 118 if (!Preheader) 120 InsertPt = Preheader->getTerminator(); 206 // Normal-form loops have a preheader, a single backedge, and all of their
|