| /freebsd-12.1/contrib/llvm/lib/Transforms/Scalar/ |
| H A D | LoopDeletion.cpp | 46 BasicBlock *Preheader) { in isLoopDead() argument 70 if (!L->makeLoopInvariant(I, Changed, Preheader->getTerminator())) { in isLoopDead() 97 auto *Preheader = L->getLoopPreheader(); in isLoopNeverExecuted() local 100 assert(Preheader && "Needs preheader!"); in isLoopNeverExecuted() 102 if (Preheader == &Preheader->getParent()->getEntryBlock()) in isLoopNeverExecuted() 106 for (auto *Pred: predecessors(Preheader)) { in isLoopNeverExecuted() 114 if (Taken == Preheader) in isLoopNeverExecuted() 117 assert(!pred_empty(Preheader) && in isLoopNeverExecuted() 143 BasicBlock *Preheader = L->getLoopPreheader(); in deleteLoopIfDead() local 144 if (!Preheader || !L->hasDedicatedExits()) { in deleteLoopIfDead() [all …]
|
| H A D | InductiveRangeCheckElimination.cpp | 767 BasicBlock *Preheader = L.getLoopPreheader(); in parseLoopStructure() local 768 if (!Preheader) { in parseLoopStructure() 1301 NewPHI->addIncoming(PN.getIncomingValueForBlock(Preheader), Preheader); in changeIterationSpaceEnd() 1336 BranchInst::Create(LS.Header, Preheader); in createPreheader() 1342 return Preheader; in createPreheader() 1377 BasicBlock *Preheader = nullptr; in run() local 1379 Preheader = OriginalLoop.getLoopPreheader(); in run() 1383 OriginalPreheader = Preheader; in run() 1384 MainLoopPreheader = Preheader; in run() 1774 BasicBlock *Preheader = L->getLoopPreheader(); in run() local [all …]
|
| H A D | LoopSink.cpp | 259 BasicBlock *Preheader = L.getLoopPreheader(); in sinkLoopInvariantInstructions() local 260 if (!Preheader) in sinkLoopInvariantInstructions() 265 if (!Preheader->getParent()->hasProfileData()) in sinkLoopInvariantInstructions() 268 const BlockFrequency PreheaderFreq = BFI.getBlockFreq(Preheader); in sinkLoopInvariantInstructions() 283 CurAST.add(*Preheader); in sinkLoopInvariantInstructions() 302 for (auto II = Preheader->rbegin(), E = Preheader->rend(); II != E;) { in sinkLoopInvariantInstructions()
|
| H A D | LoopSimplifyCFG.cpp | 321 BasicBlock *Preheader = L.getLoopPreheader(); in handleDeadExits() local 322 BasicBlock *NewPreheader = Preheader->splitBasicBlock( in handleDeadExits() 323 Preheader->getTerminator(), in handleDeadExits() 324 Twine(Preheader->getName()).concat("-split")); in handleDeadExits() 325 DTU.deleteEdge(Preheader, L.getHeader()); in handleDeadExits() 327 DTU.insertEdge(Preheader, NewPreheader); in handleDeadExits() 328 IRBuilder<> Builder(Preheader->getTerminator()); in handleDeadExits() 331 Preheader->getTerminator()->eraseFromParent(); in handleDeadExits() 346 DTU.insertEdge(Preheader, BB); in handleDeadExits() 351 if (Loop *OuterLoop = LI.getLoopFor(Preheader)) { in handleDeadExits()
|
| H A D | LoopIdiomRecognize.cpp | 876 BasicBlock *Preheader = CurLoop->getLoopPreheader(); in processLoopStridedStore() local 877 IRBuilder<> Builder(Preheader->getTerminator()); in processLoopStridedStore() 922 Expander.expandCodeFor(NumBytesS, IntPtr, Preheader->getTerminator()); in processLoopStridedStore() 989 BasicBlock *Preheader = CurLoop->getLoopPreheader(); in processLoopStoreOfLoopLoad() local 990 IRBuilder<> Builder(Preheader->getTerminator()); in processLoopStoreOfLoopLoad() 1008 StrStart, Builder.getInt8PtrTy(StrAS), Preheader->getTerminator()); in processLoopStoreOfLoopLoad() 1030 LdStart, Builder.getInt8PtrTy(LdAS), Preheader->getTerminator()); in processLoopStoreOfLoopLoad() 1585 Intrinsic::ID IntrinID, BasicBlock *Preheader, Instruction *CntInst, in transformLoopToCountable() argument 1588 BranchInst *PreheaderBr = cast<BranchInst>(Preheader->getTerminator()); in transformLoopToCountable() 1629 Value *CntInitVal = CntPhi->getIncomingValueForBlock(Preheader); in transformLoopToCountable() [all …]
|
| H A D | LoopPredication.cpp | 248 BasicBlock *Preheader; member in __anon96bde4440111::LoopPredication 466 Instruction *InsertAt = Preheader->getTerminator(); in widenICmpRangeCheckIncrementingLoop() 500 Instruction *InsertAt = Preheader->getTerminator(); in widenICmpRangeCheckDecrementingLoop() 584 IRBuilder<> Builder(cast<Instruction>(Preheader->getTerminator())); in widenGuardConditions() 803 Preheader = L->getLoopPreheader(); in runOnLoop() 804 if (!Preheader) in runOnLoop()
|
| H A D | LICM.cpp | 305 BasicBlock *Preheader = L->getLoopPreheader(); in runOnLoop() local 324 if (Preheader) in runOnLoop() 335 if (!DisablePromotion && Preheader && L->hasDedicatedExits()) { in runOnLoop() 1736 BasicBlock *Preheader = CurLoop->getLoopPreheader(); in promoteLoopAccessesToScalars() local 1788 const DataLayout &MDL = Preheader->getModule()->getDataLayout(); in promoteLoopAccessesToScalars() 1832 *Load, DT, CurLoop, SafetyInfo, ORE, Preheader->getTerminator()); in promoteLoopAccessesToScalars() 1879 Preheader->getTerminator(), DT); in promoteLoopAccessesToScalars() 1952 SomePtr, SomePtr->getName() + ".promoted", Preheader->getTerminator()); in promoteLoopAccessesToScalars() 1959 SSA.AddAvailableValue(Preheader, PreheaderLoad); in promoteLoopAccessesToScalars()
|
| H A D | IndVarSimplify.cpp | 778 BasicBlock *Preheader = L->getLoopPreheader(); in canLoopBeDeleted() local 780 if (!Preheader) in canLoopBeDeleted() 2536 BasicBlock *Preheader = L->getLoopPreheader(); in sinkUnusedInvariants() local 2537 if (!Preheader) return false; in sinkUnusedInvariants() 2541 BasicBlock::iterator I(Preheader->getTerminator()); in sinkUnusedInvariants() 2542 while (I != Preheader->begin()) { in sinkUnusedInvariants() 2583 if (UseBB == Preheader || L->contains(UseBB)) { in sinkUnusedInvariants() 2597 if (I != Preheader->begin()) { in sinkUnusedInvariants() 2601 } while (isa<DbgInfoIntrinsic>(I) && I != Preheader->begin()); in sinkUnusedInvariants() 2603 if (isa<DbgInfoIntrinsic>(I) && I == Preheader->begin()) in sinkUnusedInvariants()
|
| H A D | SimpleLoopUnswitch.cpp | 270 static void hoistLoopToNewParent(Loop &L, BasicBlock &Preheader, in hoistLoopToNewParent() argument 295 assert(OldParentL == LI.getLoopFor(&Preheader) && in hoistLoopToNewParent() 297 LI.changeLoopFor(&Preheader, NewParentL); in hoistLoopToNewParent() 315 return BB == &Preheader || L.contains(BB); in hoistLoopToNewParent() 318 OldContainingL->getBlocksSet().erase(&Preheader); in hoistLoopToNewParent()
|
| /freebsd-12.1/contrib/llvm/lib/CodeGen/ |
| H A D | MachineLICM.cpp | 492 if (!Preheader) in HoistRegionPostRA() 526 if (TI != Preheader->end()) { in HoistRegionPostRA() 602 Preheader->splice(Preheader->getFirstTerminator(), MBB, MI); in HoistPostRA() 674 if (!Preheader) in HoistOutOfLoop() 726 InitRegPressure(Preheader); in HoistOutOfLoop() 740 if (!Hoist(MI, Preheader)) in HoistOutOfLoop() 757 if (!Preheader) in SinkIntoLoop() 796 if (!CanSink || !B || B == Preheader) in SinkIntoLoop() 1456 if (Preheader->getBasicBlock()) in Hoist() 1464 InitCSEMap(Preheader); in Hoist() [all …]
|
| H A D | MachineLoopInfo.cpp | 120 MachineBasicBlock *Preheader = nullptr; in findLoopPreheader() local 125 if (Preheader) in findLoopPreheader() 127 Preheader = P; in findLoopPreheader() 132 for (MachineBasicBlock *S : Preheader->successors()) { in findLoopPreheader() 139 return Preheader; in findLoopPreheader()
|
| H A D | CodeGenPrepare.cpp | 618 if (BasicBlock *Preheader = L->getLoopPreheader()) in eliminateMostlyEmptyBlocks() local 619 Preheaders.insert(Preheader); in eliminateMostlyEmptyBlocks()
|
| /freebsd-12.1/contrib/llvm/lib/Transforms/Utils/ |
| H A D | LoopSimplify.cpp | 217 static Loop *separateNestedLoop(Loop *L, BasicBlock *Preheader, in separateNestedLoop() argument 222 if (!Preheader) in separateNestedLoop() 350 if (!Preheader) in insertUniqueBackedgeBlock() 365 if (P != Preheader) BackedgeBlocks.push_back(P); in insertUniqueBackedgeBlock() 396 if (IBB == Preheader) { in insertUniqueBackedgeBlock() 519 BasicBlock *Preheader = L->getLoopPreheader(); in simplifyOneLoop() local 520 if (!Preheader) { in simplifyOneLoop() 521 Preheader = InsertPreheaderForLoop(L, DT, LI, PreserveLCSSA); in simplifyOneLoop() 522 if (Preheader) in simplifyOneLoop() 559 LoopLatch = insertUniqueBackedgeBlock(L, Preheader, DT, LI); in simplifyOneLoop() [all …]
|
| H A D | LoopUtils.cpp | 450 auto *Preheader = L->getLoopPreheader(); in deleteDeadLoop() local 451 assert(Preheader && "Preheader should exist!"); in deleteDeadLoop() 469 auto *OldBr = dyn_cast<BranchInst>(Preheader->getTerminator()); in deleteDeadLoop() 509 P.setIncomingBlock(PredIndex, Preheader); in deleteDeadLoop() 521 P.getIncomingBlock(PredIndex) == Preheader) && in deleteDeadLoop() 526 Builder.SetInsertPoint(Preheader->getTerminator()); in deleteDeadLoop() 529 Preheader->getTerminator()->eraseFromParent(); in deleteDeadLoop() 535 DTU.insertEdge(Preheader, ExitBlock); in deleteDeadLoop() 537 DTU.deleteEdge(Preheader, L->getHeader()); in deleteDeadLoop()
|
| H A D | IntegerDivision.cpp | 226 BasicBlock *Preheader = BasicBlock::Create(Builder.getContext(), in generateUnsignedDivisionCode() local 276 Builder.CreateCondBr(SkipLoop, LoopExit, Preheader); in generateUnsignedDivisionCode() 282 Builder.SetInsertPoint(Preheader); in generateUnsignedDivisionCode() 345 Carry_1->addIncoming(Zero, Preheader); in generateUnsignedDivisionCode() 348 SR_3->addIncoming(SR_1, Preheader); in generateUnsignedDivisionCode() 351 R_1->addIncoming(Tmp3, Preheader); in generateUnsignedDivisionCode() 354 Q_2->addIncoming(Q, Preheader); in generateUnsignedDivisionCode()
|
| H A D | LoopUnroll.cpp | 342 BasicBlock *Preheader = L->getLoopPreheader(); in UnrollLoop() local 343 if (!Preheader) { in UnrollLoop() 447 Preheader = L->getLoopPreheader(); in UnrollLoop() 700 PN->replaceAllUsesWith(PN->getIncomingValueForBlock(Preheader)); in UnrollLoop()
|
| H A D | LoopUnrollRuntime.cpp | 304 BasicBlock *InsertBot, BasicBlock *Preheader, in CloneLoopBlocks() argument 381 unsigned idx = NewPHI->getBasicBlockIndex(Preheader); in CloneLoopBlocks() 385 VMap[&*I] = NewPHI->getIncomingValueForBlock(Preheader); in CloneLoopBlocks() 389 unsigned idx = NewPHI->getBasicBlockIndex(Preheader); in CloneLoopBlocks()
|
| H A D | LoopUnrollAndJam.cpp | 249 BasicBlock *Preheader = L->getLoopPreheader(); in UnrollAndJamLoop() local 252 assert(Preheader && LatchBlock && Header); in UnrollAndJamLoop() 455 Phi->replaceAllUsesWith(Phi->getIncomingValueForBlock(Preheader)); in UnrollAndJamLoop()
|
| /freebsd-12.1/contrib/llvm/lib/Target/PowerPC/ |
| H A D | PPCCTRLoops.cpp | 634 BasicBlock *Preheader = L->getLoopPreheader(); in convertToCTRLoop() local 640 if (!Preheader || mightUseCTR(Preheader)) in convertToCTRLoop() 641 Preheader = InsertPreheaderForLoop(L, DT, LI, PreserveLCSSA); in convertToCTRLoop() 642 if (!Preheader) in convertToCTRLoop() 645 LLVM_DEBUG(dbgs() << "Preheader for exit count: " << Preheader->getName() in convertToCTRLoop() 660 SCEVE.expandCodeFor(ExitCount, CountType, Preheader->getTerminator()); in convertToCTRLoop() 662 IRBuilder<> CountBuilder(Preheader->getTerminator()); in convertToCTRLoop() 663 Module *M = Preheader->getParent()->getParent(); in convertToCTRLoop()
|
| /freebsd-12.1/contrib/llvm/lib/Target/Hexagon/ |
| H A D | HexagonHardwareLoops.cpp | 408 MachineBasicBlock *Preheader = MLI->findLoopPreheader(L, SpecPreheader); in findInductionRegister() local 411 if (!Header || !Preheader || !Latch || !ExitingBlock) in findInductionRegister() 602 MachineBasicBlock *Preheader = MLI->findLoopPreheader(L, SpecPreheader); in getLoopTripCount() local 609 if (MBB == Preheader) in getLoopTripCount() 1195 if (!Preheader) { in convertToHardwareLoop() 1196 Preheader = createPreheaderForLoop(L); in convertToHardwareLoop() 1197 if (!Preheader) in convertToHardwareLoop() 1215 if (!MDT->dominates(BBDef, Preheader)) in convertToHardwareLoop() 1243 if (InsertPos != Preheader->end()) in convertToHardwareLoop() 1264 BuildMI(*Preheader, InsertPos, DL, TII->get(LOOP_r)) in convertToHardwareLoop() [all …]
|
| H A D | HexagonLoopIdiomRecognition.cpp | 2028 BasicBlock *Preheader = CurLoop->getLoopPreheader(); in processCopyingStore() local 2029 Instruction *ExpPt = Preheader->getTerminator(); in processCopyingStore() 2170 Loop *ParentL = LF->getLoopFor(Preheader); in processCopyingStore() 2184 int bx = PN->getBasicBlockIndex(Preheader); in processCopyingStore() 2188 DT->addNewBlock(NewPreheader, Preheader); in processCopyingStore() 2222 Instruction *OldT = Preheader->getTerminator(); in processCopyingStore() 2225 Preheader->setName(Preheader->getName()+".old"); in processCopyingStore() 2226 DT->addNewBlock(MemmoveB, Preheader); in processCopyingStore() 2228 BasicBlock *ExitD = Preheader; in processCopyingStore() 2239 if (ExitD && DT->dominates(Preheader, ExitD)) { in processCopyingStore()
|
| /freebsd-12.1/contrib/llvm/lib/Analysis/ |
| H A D | ScalarEvolutionExpander.cpp | 217 BasicBlock *Preheader = L->getLoopPreheader(); in InsertBinop() local 218 if (!Preheader) break; in InsertBinop() 221 Builder.SetInsertPoint(Preheader->getTerminator()); in InsertBinop() 544 BasicBlock *Preheader = L->getLoopPreheader(); in expandAddToGEP() local 545 if (!Preheader) break; in expandAddToGEP() 548 Builder.SetInsertPoint(Preheader->getTerminator()); in expandAddToGEP() 571 BasicBlock *Preheader = L->getLoopPreheader(); in expandAddToGEP() local 572 if (!Preheader) break; in expandAddToGEP() 575 Builder.SetInsertPoint(Preheader->getTerminator()); in expandAddToGEP() 1739 if (BasicBlock *Preheader = L->getLoopPreheader()) in expand() local [all …]
|
| H A D | LoopInfo.cpp | 89 BasicBlock *Preheader = getLoopPreheader(); in makeLoopInvariant() local 91 if (!Preheader) in makeLoopInvariant() 93 InsertPt = Preheader->getTerminator(); in makeLoopInvariant()
|
| H A D | IVDescriptors.cpp | 677 auto *Preheader = TheLoop->getLoopPreheader(); in isFirstOrderRecurrence() local 679 if (!Preheader || !Latch) in isFirstOrderRecurrence() 683 if (Phi->getBasicBlockIndex(Preheader) < 0 || in isFirstOrderRecurrence()
|
| /freebsd-12.1/contrib/llvm/lib/Transforms/Vectorize/ |
| H A D | LoopVectorize.cpp | 3369 auto *Preheader = OrigLoop->getLoopPreheader(); in fixFirstOrderRecurrence() local 3373 auto *ScalarInit = Phi->getIncomingValueForBlock(Preheader); in fixFirstOrderRecurrence()
|