/external/llvm/include/llvm/Transforms/Scalar/ |
LoopDeletion.h | 34 BasicBlock *Preheader);
|
/external/llvm/lib/CodeGen/ |
MachineLICM.cpp | 89 MachineBasicBlock *CurPreheader; // The preheader for CurLoop. 107 // Register pressure on path leading from loop preheader to current BB. 231 bool Hoist(MachineInstr *MI, MachineBasicBlock *Preheader); 304 // If this is done before regalloc, only visit outer-most preheader-sporting 437 /// preheader. 439 MachineBasicBlock *Preheader = getCurPreheader(); 440 if (!Preheader) 474 MachineBasicBlock::iterator TI = Preheader->getFirstTerminator(); 475 if (TI != Preheader->end()) { 542 MachineBasicBlock *Preheader = getCurPreheader() [all...] |
/external/llvm/lib/Transforms/Scalar/ |
InductiveRangeCheckElimination.cpp | 518 // Rewrite the iteration space of the loop denoted by (LS, Preheader). The 536 // After changeIterationSpaceEnd, `Preheader' is no longer a legitimate 537 // preheader because it is made to branch to the loop header only 541 changeIterationSpaceEnd(const LoopStructure &LS, BasicBlock *Preheader, 545 // The loop denoted by `LS' has `OldPreheader' as its preheader. This 546 // function creates a new preheader for `LS' and returns it. 552 // `changeIterationSpaceEnd' and is the preheader to the loop denoted by `LS'. 576 // The preheader of the main loop. This may or may not be different from 634 BasicBlock *Preheader = L.getLoopPreheader(); 635 if (!Preheader) { [all...] |
LICM.cpp | 12 // code into the preheader block, or by sinking code to the exit blocks if it is 224 // Get the preheader block to move instructions into... 225 BasicBlock *Preheader = L->getLoopPreheader(); 244 if (Preheader) 250 if (!DisablePromotion && (Preheader || L->hasDedicatedExits())) { 386 // Try hoisting the instruction out to the preheader. We can only do this 721 auto *Preheader = CurLoop->getLoopPreheader(); 722 DEBUG(dbgs() << "LICM hoisting to " << Preheader->getName() << ": " << I 728 // is valid in the loop preheader. 736 // Move the new node to the Preheader, before its terminator [all...] |
LoopVersioningLICM.cpp | 44 // |Orig Loop Preheader | |Cloned Loop Preheader | 169 Preheader(nullptr), CurLoop(nullptr), CurAST(nullptr), 185 BasicBlock *Preheader; // The preheader block of the current loop. 209 // Loop must have a preheader, if not return false. 211 DEBUG(dbgs() << " loop preheader is missing\n"); 521 // Get the preheader block. 522 Preheader = L->getLoopPreheader();
|
LoopDeletion.cpp | 38 bool &Changed, BasicBlock *Preheader) { 65 if (!L->makeLoopInvariant(I, Changed, Preheader->getTerminator())) { 104 // We can only remove the loop if there is a preheader that we can 106 BasicBlock *preheader = L->getLoopPreheader(); local 107 if (!preheader) 134 if (!isLoopDead(L, SE, exitingBlocks, exitBlocks, Changed, preheader)) 144 // branch from the preheader to go to the single exit block. 156 // Connect the preheader directly to the exit block. 157 TerminatorInst *TI = preheader->getTerminator(); 161 // the preheader instead of the exiting block [all...] |
LoopIdiomRecognize.cpp | 743 /// transform this into a memset or memset_pattern in the loop preheader, do so. 760 // header. This allows us to insert code for it in the preheader. 762 BasicBlock *Preheader = CurLoop->getLoopPreheader(); 763 IRBuilder<> Builder(Preheader->getTerminator()); 775 // this into a memset in the loop preheader now if we want. However, this 780 Expander.expandCodeFor(Start, DestInt8PtrTy, Preheader->getTerminator()); 803 Expander.expandCodeFor(NumBytesS, IntPtr, Preheader->getTerminator()); [all...] |
IndVarSimplify.cpp | 741 BasicBlock *Preheader = L->getLoopPreheader(); 742 // If there is no preheader, the loop will not be deleted. 743 if (!Preheader) [all...] |
/external/swiftshader/third_party/LLVM/lib/Transforms/Utils/ |
LoopSimplify.cpp | 103 BasicBlock *InsertUniqueBackedgeBlock(Loop *L, BasicBlock *Preheader); 200 // Does the loop already have a preheader? If so, don't insert one. 201 BasicBlock *Preheader = L->getLoopPreheader(); 202 if (!Preheader) { 203 Preheader = InsertPreheaderForLoop(L); 204 if (Preheader) { 212 // loop preheader/header will dominate the exit blocks. If the exit block has 236 // preheader and from multiple backedges), we must adjust the loop. 255 LoopLatch = InsertUniqueBackedgeBlock(L, Preheader); 311 Preheader ? Preheader->getTerminator() : 0)) [all...] |
LoopUnroll.cpp | 139 BasicBlock *Preheader = L->getLoopPreheader(); 140 if (!Preheader) { 141 DEBUG(dbgs() << " Can't unroll; loop preheader-insertion failed.\n"); 308 PN->replaceAllUsesWith(PN->getIncomingValueForBlock(Preheader));
|
/external/swiftshader/third_party/LLVM/lib/CodeGen/ |
MachineLICM.cpp | 82 MachineBasicBlock *CurPreheader; // The preheader for CurLoop. 94 // Register pressure on path leading from loop preheader to current BB. 158 /// invariants out to the preheader. 207 /// effect of hoisting MI from the current block to the preheader. 234 /// of the preheader to initialize the starting "register pressure". Note 254 /// the preheader that compute the same value. If it's found, do a RAU on 256 /// the instruction to the preheader. 267 bool Hoist(MachineInstr *MI, MachineBasicBlock *Preheader); 270 /// current loop preheader that may become duplicates of instructions that 274 /// getCurPreheader - Get the preheader for the current loop, splittin [all...] |
/external/llvm/lib/Target/PowerPC/ |
PPCCTRLoops.cpp | 566 BasicBlock *Preheader = L->getLoopPreheader(); 568 // If we don't have a preheader, then insert one. If we already have a 569 // preheader, then we can use it (except if the preheader contains a use of 572 if (!Preheader || mightUseCTR(TT, Preheader)) 573 Preheader = InsertPreheaderForLoop(L, DT, LI, PreserveLCSSA); 574 if (!Preheader) 577 DEBUG(dbgs() << "Preheader for exit count: " << Preheader->getName() << "\n") [all...] |
/external/swiftshader/third_party/LLVM/lib/Transforms/Scalar/ |
LICM.cpp | 12 // code into the preheader block, or by sinking code to the exit blocks if it is 101 BasicBlock *Preheader; // The preheader block of the current loop... 216 // Get the preheader block to move instructions into... 217 Preheader = L->getLoopPreheader(); 242 if (Preheader) 247 if (!DisablePromotion && Preheader && L->hasDedicatedExits()) { 256 Preheader = 0; 345 // Try hoisting the instruction out to the preheader. We can only do this 564 DEBUG(dbgs() << "LICM hoisting to " << Preheader->getName() << ": [all...] |
LoopIdiomRecognize.cpp | 438 /// transform this into a memset or memset_pattern in the loop preheader, do so. 472 // header. This allows us to insert code for it in the preheader. 473 BasicBlock *Preheader = CurLoop->getLoopPreheader(); 474 IRBuilder<> Builder(Preheader->getTerminator()); 478 // this into a memset in the loop preheader now if we want. However, this 485 Preheader->getTerminator()); 511 Expander.expandCodeFor(NumBytesS, IntPtr, Preheader->getTerminator()); 561 // header. This allows us to insert code for it in the preheader. 562 BasicBlock *Preheader = CurLoop->getLoopPreheader(); 563 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/Transforms/Utils/ |
LoopSimplify.cpp | 79 // block' block. This prevents the preheader from being placed inside the loop 115 /// preheader, this method is called to insert one. This method has two phases: 116 /// preheader insertion and analysis updating. 140 PreheaderBB = SplitBlockPredecessors(Header, OutsideBlocks, ".preheader", DT, 155 /// \brief Ensure that the loop preheader dominates all exit blocks. 249 static Loop *separateNestedLoop(Loop *L, BasicBlock *Preheader, 253 // Don't try to separate loops without a preheader. 254 if (!Preheader) 257 // The header is not a landing pad; preheader insertion should ensure this. 352 static BasicBlock *insertUniqueBackedgeBlock(Loop *L, BasicBlock *Preheader, [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...] |
LoopUnrollRuntime.cpp | 63 BasicBlock *PrologExit, BasicBlock *PreHeader, 85 // Adding a value to the new PHI node from the original loop preheader. 89 PreHeader); 91 NewPN->addIncoming(UndefValue::get(PN->getType()), PreHeader); 152 BasicBlock *Exit, BasicBlock *PreHeader, 162 // PreHeader 195 // Add incoming PreHeader from branch around the Loop 196 PN->addIncoming(UndefValue::get(PN->getType()), PreHeader); 214 // PN = PHI [I, Latch], [undef, PreHeader] 220 // Create PHI nodes at NewExit (from the unrolling loop Latch and PreHeader) [all...] |
LoopUnroll.cpp | 208 BasicBlock *Preheader = L->getLoopPreheader(); 209 if (!Preheader) { 210 DEBUG(dbgs() << " Can't unroll; loop preheader-insertion failed.\n"); 491 PN->replaceAllUsesWith(PN->getIncomingValueForBlock(Preheader));
|
/external/llvm/lib/Target/Hexagon/ |
HexagonHardwareLoops.cpp | 53 // Option to create preheader only for a specific function. 58 // Option to create a preheader if one doesn't exist. 59 static cl::opt<bool> HWCreatePreheader("hexagon-hwloop-preheader", 61 cl::desc("Add a preheader to a hardware loop if one doesn't exist")); 177 /// to the loop's preheader. 273 /// \brief Given a loop, if it does not have a preheader, create one. 274 /// Return the block that is the preheader. 388 MachineBasicBlock *Preheader = L->getLoopPreheader(); 391 if (!Header || !Preheader || !Latch || !ExitingBlock) 569 MachineBasicBlock *Preheader = L->getLoopPreheader() [all...] |
/external/swiftshader/third_party/LLVM/lib/Analysis/ |
ScalarEvolutionExpander.cpp | 159 BasicBlock *Preheader = L->getLoopPreheader(); 160 if (!Preheader) break; 163 Builder.SetInsertPoint(Preheader, Preheader->getTerminator()); 529 BasicBlock *Preheader = L->getLoopPreheader(); 530 if (!Preheader) break; 533 Builder.SetInsertPoint(Preheader, Preheader->getTerminator()); 565 BasicBlock *Preheader = L->getLoopPreheader(); 566 if (!Preheader) break [all...] |
LoopInfo.cpp | 75 /// If null, the terminator of the loop preheader is used. 91 /// If null, the terminator of the loop preheader is used. 107 BasicBlock *Preheader = getLoopPreheader(); 108 // Without a preheader, hoisting is not feasible. 109 if (!Preheader) 111 InsertPt = Preheader->getTerminator(); 295 // Normal-form loops have a preheader, a single backedge, and all of their
|
/external/llvm/lib/Analysis/ |
LoopInfo.cpp | 86 BasicBlock *Preheader = getLoopPreheader(); 87 // Without a preheader, hoisting is not feasible. 88 if (!Preheader) 90 InsertPt = Preheader->getTerminator(); 186 // Normal-form loops have a preheader, a single backedge, and all of their
|
ScalarEvolutionExpander.cpp | 204 BasicBlock *Preheader = L->getLoopPreheader(); 205 if (!Preheader) break; 208 Builder.SetInsertPoint(Preheader->getTerminator()); 531 BasicBlock *Preheader = L->getLoopPreheader(); 532 if (!Preheader) break; 535 Builder.SetInsertPoint(Preheader->getTerminator()); 559 BasicBlock *Preheader = L->getLoopPreheader(); 560 if (!Preheader) break; 563 Builder.SetInsertPoint(Preheader->getTerminator()); [all...] |