/netbsd-src/external/apache2/llvm/dist/llvm/lib/Transforms/Scalar/ |
H A D | LoopFuse.cpp | 151 BasicBlock *Preheader; member 189 : Preheader(L->getLoopPreheader()), Header(L->getHeader()), in FusionCandidate() 236 return Preheader && Header && ExitingBlock && ExitBlock && Latch && L && in isValid() 244 assert(Preheader == L->getLoopPreheader() && "Preheader is out of sync"); in verify() 261 return Preheader; in getEntryBlock() 267 Preheader = L->getLoopPreheader(); in updateAfterPeeling() 288 return (GuardBranch->getSuccessor(0) == Preheader) in getNonLoopBlock() 302 << "\tPreheader: " << (Preheader ? Preheader->getName() : "nullptr") in dump() 322 if (!Preheader) in isEligibleForFusion() 374 assert(L && Preheader && "Fusion candidate not initialized properly!"); in reportInvalidCandidate() [all …]
|
H A D | LoopSink.cpp | 285 BasicBlock *Preheader = L.getLoopPreheader(); in sinkLoopInvariantInstructions() local 286 assert(Preheader && "Expected loop to have preheader"); in sinkLoopInvariantInstructions() 288 assert(Preheader->getParent()->hasProfileData() && in sinkLoopInvariantInstructions() 291 const BlockFrequency PreheaderFreq = BFI.getBlockFreq(Preheader); in sinkLoopInvariantInstructions() 326 for (auto II = Preheader->rbegin(), E = Preheader->rend(); II != E;) { in sinkLoopInvariantInstructions() 344 static void computeAliasSet(Loop &L, BasicBlock &Preheader, in computeAliasSet() argument 348 CurAST.add(Preheader); in computeAliasSet() 376 BasicBlock *Preheader = L.getLoopPreheader(); in run() local 377 if (!Preheader) in run() 382 if (!Preheader->getParent()->hasProfileData()) in run() [all …]
|
H A D | LoopDeletion.cpp | 57 BasicBlock *Preheader) { in isLoopDead() argument 82 if (!L->makeLoopInvariant(I, Changed, Preheader->getTerminator())) { in isLoopDead() 112 auto *Preheader = L->getLoopPreheader(); in isLoopNeverExecuted() local 115 assert(Preheader && "Needs preheader!"); in isLoopNeverExecuted() 117 if (Preheader->isEntryBlock()) in isLoopNeverExecuted() 121 for (auto *Pred: predecessors(Preheader)) { in isLoopNeverExecuted() 129 if (Taken == Preheader) in isLoopNeverExecuted() 132 assert(!pred_empty(Preheader) && in isLoopNeverExecuted() 181 BasicBlock *Preheader = L->getLoopPreheader(); in deleteLoopIfDead() local 182 if (!Preheader || !L->hasDedicatedExits()) { in deleteLoopIfDead() [all …]
|
H A D | InductiveRangeCheckElimination.cpp | 594 changeIterationSpaceEnd(const LoopStructure &LS, BasicBlock *Preheader, 774 BasicBlock *Preheader = L.getLoopPreheader(); in parseLoopStructure() local 775 if (!Preheader) { in parseLoopStructure() 1024 const DataLayout &DL = Preheader->getModule()->getDataLayout(); in parseLoopStructure() 1026 Instruction *Ins = Preheader->getTerminator(); in parseLoopStructure() 1195 const LoopStructure &LS, BasicBlock *Preheader, Value *ExitSubloopAt, in changeIterationSpaceEnd() argument 1276 BranchInst *PreheaderJump = cast<BranchInst>(Preheader->getTerminator()); in changeIterationSpaceEnd() 1331 NewPHI->addIncoming(PN.getIncomingValueForBlock(Preheader), Preheader); in changeIterationSpaceEnd() 1339 RRI.IndVarEnd->addIncoming(IndVarStart, Preheader); in changeIterationSpaceEnd() 1363 BasicBlock *Preheader = BasicBlock::Create(Ctx, Tag, &F, LS.Header); in createPreheader() local [all …]
|
H A D | LoopSimplifyCFG.cpp | 357 BasicBlock *Preheader = L.getLoopPreheader(); in handleDeadExits() local 359 Preheader, Preheader->getTerminator(), &DT, &LI, MSSAU); in handleDeadExits() 361 IRBuilder<> Builder(Preheader->getTerminator()); in handleDeadExits() 364 Preheader->getTerminator()->eraseFromParent(); in handleDeadExits() 384 DTUpdates.push_back({DominatorTree::Insert, Preheader, BB}); in handleDeadExits() 389 if (Loop *OuterLoop = LI.getLoopFor(Preheader)) { in handleDeadExits()
|
H A D | LoopIdiomRecognize.cpp | 1047 BasicBlock *Preheader = CurLoop->getLoopPreheader(); in processLoopStridedStore() local 1048 IRBuilder<> Builder(Preheader->getTerminator()); in processLoopStridedStore() 1072 Expander.expandCodeFor(Start, DestInt8PtrTy, Preheader->getTerminator()); in processLoopStridedStore() 1101 Expander.expandCodeFor(NumBytesS, IntIdxTy, Preheader->getTerminator()); in processLoopStridedStore() 1141 NewCall->getDebugLoc(), Preheader) in processLoopStridedStore() 1196 BasicBlock *Preheader = CurLoop->getLoopPreheader(); in processLoopStoreOfLoopLoad() local 1197 IRBuilder<> Builder(Preheader->getTerminator()); in processLoopStoreOfLoopLoad() 1221 StrStart, Builder.getInt8PtrTy(StrAS), Preheader->getTerminator()); in processLoopStoreOfLoopLoad() 1261 LdStart, Builder.getInt8PtrTy(LdAS), Preheader->getTerminator()); in processLoopStoreOfLoopLoad() 1288 Expander.expandCodeFor(NumBytesS, IntIdxTy, Preheader->getTerminator()); in processLoopStoreOfLoopLoad() [all …]
|
H A D | LoopPredication.cpp | 261 BasicBlock *Preheader; member in __anon8af7232a0111::LoopPredication 511 return Preheader->getTerminator(); in findInsertPt() 521 !isSafeToExpandAt(Op, Preheader->getTerminator(), *SE)) in findInsertPt() 523 return Preheader->getTerminator(); in findInsertPt() 1208 Preheader = L->getLoopPreheader(); in runOnLoop() 1209 if (!Preheader) in runOnLoop()
|
H A D | IndVarSimplify.cpp | 1212 BasicBlock *Preheader = L->getLoopPreheader(); in sinkUnusedInvariants() local 1213 if (!Preheader) return false; in sinkUnusedInvariants() 1217 BasicBlock::iterator I(Preheader->getTerminator()); in sinkUnusedInvariants() 1218 while (I != Preheader->begin()) { in sinkUnusedInvariants() 1259 if (UseBB == Preheader || L->contains(UseBB)) { in sinkUnusedInvariants() 1273 if (I != Preheader->begin()) { in sinkUnusedInvariants() 1277 } while (isa<DbgInfoIntrinsic>(I) && I != Preheader->begin()); in sinkUnusedInvariants() 1279 if (isa<DbgInfoIntrinsic>(I) && I == Preheader->begin()) in sinkUnusedInvariants()
|
/netbsd-src/external/apache2/llvm/dist/llvm/lib/Transforms/Utils/ |
H A D | MatrixUtils.cpp | 23 BasicBlock *TileInfo::CreateLoop(BasicBlock *Preheader, BasicBlock *Exit, in CreateLoop() argument 27 LLVMContext &Ctx = Preheader->getContext(); in CreateLoop() 29 Preheader->getContext(), Name + ".header", Preheader->getParent(), Exit); in CreateLoop() 40 IV->addIncoming(ConstantInt::get(I32Ty, 0), Preheader); in CreateLoop() 48 BranchInst *PreheaderBr = cast<BranchInst>(Preheader->getTerminator()); in CreateLoop() 52 {DominatorTree::Delete, Preheader, Tmp}, in CreateLoop() 57 {DominatorTree::Insert, Preheader, Header}, in CreateLoop()
|
H A D | LoopSimplify.cpp | 220 static Loop *separateNestedLoop(Loop *L, BasicBlock *Preheader, in separateNestedLoop() argument 225 if (!Preheader) in separateNestedLoop() 364 static BasicBlock *insertUniqueBackedgeBlock(Loop *L, BasicBlock *Preheader, in insertUniqueBackedgeBlock() argument 374 if (!Preheader) in insertUniqueBackedgeBlock() 387 if (P != Preheader) BackedgeBlocks.push_back(P); in insertUniqueBackedgeBlock() 418 if (IBB == Preheader) { in insertUniqueBackedgeBlock() 478 MSSAU->updatePhisWhenInsertingUniqueBackedgeBlock(Header, Preheader, in insertUniqueBackedgeBlock() 547 BasicBlock *Preheader = L->getLoopPreheader(); in simplifyOneLoop() local 548 if (!Preheader) { in simplifyOneLoop() 549 Preheader = InsertPreheaderForLoop(L, DT, LI, MSSAU, PreserveLCSSA); in simplifyOneLoop() [all …]
|
H A D | IntegerDivision.cpp | 225 BasicBlock *Preheader = BasicBlock::Create(Builder.getContext(), in generateUnsignedDivisionCode() local 275 Builder.CreateCondBr(SkipLoop, LoopExit, Preheader); in generateUnsignedDivisionCode() 281 Builder.SetInsertPoint(Preheader); in generateUnsignedDivisionCode() 344 Carry_1->addIncoming(Zero, Preheader); in generateUnsignedDivisionCode() 347 SR_3->addIncoming(SR_1, Preheader); in generateUnsignedDivisionCode() 350 R_1->addIncoming(Tmp3, Preheader); in generateUnsignedDivisionCode() 353 Q_2->addIncoming(Q, Preheader); in generateUnsignedDivisionCode()
|
H A D | LoopUtils.cpp | 541 auto *Preheader = L->getLoopPreheader(); in deleteDeadLoop() local 542 assert(Preheader && "Preheader should exist!"); in deleteDeadLoop() 560 auto *OldBr = dyn_cast<BranchInst>(Preheader->getTerminator()); in deleteDeadLoop() 607 P.setIncomingBlock(PredIndex, Preheader); in deleteDeadLoop() 619 P.getIncomingBlock(PredIndex) == Preheader) && in deleteDeadLoop() 624 DTU.applyUpdates({{DominatorTree::Insert, Preheader, ExitBlock}}); in deleteDeadLoop() 626 MSSAU->applyUpdates({{DominatorTree::Insert, Preheader, ExitBlock}}, in deleteDeadLoop() 634 Builder.SetInsertPoint(Preheader->getTerminator()); in deleteDeadLoop() 637 Preheader->getTerminator()->eraseFromParent(); in deleteDeadLoop() 644 Preheader->getTerminator()->eraseFromParent(); in deleteDeadLoop() [all …]
|
/netbsd-src/external/apache2/llvm/dist/llvm/lib/CodeGen/ |
H A D | MachineLoopUtils.cpp | 32 MachineBasicBlock *Preheader = *Loop->pred_begin(); in PeelSingleBlockLoop() local 33 if (Preheader == Loop) in PeelSingleBlockLoop() 34 Preheader = *std::next(Loop->pred_begin()); in PeelSingleBlockLoop() 82 if (MI.getOperand(2).getMBB() != Preheader) in PeelSingleBlockLoop() 107 Preheader->replaceSuccessor(Loop, NewBB); in PeelSingleBlockLoop() 109 Loop->replacePhiUsesWith(Preheader, NewBB); in PeelSingleBlockLoop() 110 if (TII->removeBranch(*Preheader) > 0) in PeelSingleBlockLoop() 111 TII->insertBranch(*Preheader, NewBB, nullptr, {}, DL); in PeelSingleBlockLoop()
|
H A D | MachineLoopInfo.cpp | 130 MachineBasicBlock *Preheader = nullptr; in findLoopPreheader() local 135 if (Preheader) in findLoopPreheader() 137 Preheader = P; in findLoopPreheader() 142 for (MachineBasicBlock *S : Preheader->successors()) { in findLoopPreheader() 149 return Preheader; in findLoopPreheader()
|
H A D | MachineLICM.cpp | 264 bool Hoist(MachineInstr *MI, MachineBasicBlock *Preheader); 513 MachineBasicBlock *Preheader = getCurPreheader(); in HoistRegionPostRA() local 514 if (!Preheader) in HoistRegionPostRA() 547 MachineBasicBlock::iterator TI = Preheader->getFirstTerminator(); in HoistRegionPostRA() 548 if (TI != Preheader->end()) { in HoistRegionPostRA() 614 MachineBasicBlock *Preheader = getCurPreheader(); in HoistPostRA() local 618 LLVM_DEBUG(dbgs() << "Hoisting to " << printMBBReference(*Preheader) in HoistPostRA() 624 Preheader->splice(Preheader->getFirstTerminator(), MBB, MI); in HoistPostRA() 701 MachineBasicBlock *Preheader = getCurPreheader(); in HoistOutOfLoop() local 702 if (!Preheader) in HoistOutOfLoop() [all …]
|
H A D | HardwareLoops.cpp | 302 BasicBlock *Preheader = L->getLoopPreheader(); in TryConvertLoop() local 305 if (!Preheader) in TryConvertLoop() 306 Preheader = InsertPreheaderForLoop(L, DT, LI, nullptr, PreserveLCSSA); in TryConvertLoop() 307 if (!Preheader) in TryConvertLoop() 343 BasicBlock *Preheader = L->getLoopPreheader(); in CanGenerateTest() local 344 if (!Preheader->getSinglePredecessor()) in CanGenerateTest() 347 BasicBlock *Pred = Preheader->getSinglePredecessor(); in CanGenerateTest() 372 if (BI->getSuccessor(SuccIdx) != Preheader) in CanGenerateTest() 501 BasicBlock *Preheader = L->getLoopPreheader(); in InsertPHICounter() local 506 Index->addIncoming(NumElts, Preheader); in InsertPHICounter()
|
H A D | ModuloSchedule.cpp | 68 Preheader = *BB->pred_begin(); in expand() 69 if (Preheader == BB) in expand() 70 Preheader = *std::next(BB->pred_begin()); in expand() 176 addBranches(*Preheader, PrologBBs, KernelBB, EpilogBBs, VRMap); in generatePipelinedLoop() 194 MachineBasicBlock *PredBB = Preheader; in generateProlog() 238 unsigned numBranches = TII->removeBranch(*Preheader); in generateProlog() 241 TII->insertBranch(*Preheader, PrologBBs[0], nullptr, Cond, DebugLoc()); in generateProlog() 1990 Preheader = Schedule.getLoop()->getLoopPreheader(); in expand() 2002 Preheader = Schedule.getLoop()->getLoopPreheader(); in validateAgainstModuloScheduleExpander() 2024 Preheader->addSuccessor(BB); in validateAgainstModuloScheduleExpander() [all …]
|
/netbsd-src/external/apache2/llvm/dist/llvm/lib/Target/ARM/ |
H A D | ARMLowOverheadLoops.cpp | 159 if (auto *Preheader = ML.getLoopPreheader()) in ProcessLoop() local 160 GetPredecessor(Preheader); in ProcessLoop() 161 else if (auto *Preheader = MLI.findLoopPreheader(&ML, true)) in ProcessLoop() local 162 GetPredecessor(Preheader); in ProcessLoop() 363 MachineBasicBlock *Preheader = nullptr; member 388 Preheader = MBB; in LowOverheadLoop() 390 Preheader = MBB; in LowOverheadLoop() 712 MachineBasicBlock *MBB = Preheader; in ValidateTailPredicate() 783 if (Start->getOpcode() == ARM::t2DoLoopStartTP && Preheader && in ValidateTailPredicate() 784 !Preheader->empty() && in ValidateTailPredicate() [all …]
|
H A D | MVETailPredication.cpp | 147 BasicBlock *Preheader = L->getLoopPreheader(); in runOnLoop() local 148 if (!Preheader) in runOnLoop() 166 IntrinsicInst *Setup = FindLoopIterations(Preheader); in runOnLoop() 170 if (!Preheader->getSinglePredecessor()) in runOnLoop() 172 Setup = FindLoopIterations(Preheader->getSinglePredecessor()); in runOnLoop()
|
/netbsd-src/external/apache2/llvm/dist/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() 1194 MachineBasicBlock *Preheader = MLI->findLoopPreheader(L, SpecPreheader); in convertToHardwareLoop() local 1195 if (!Preheader) { in convertToHardwareLoop() 1196 Preheader = createPreheaderForLoop(L); in convertToHardwareLoop() 1197 if (!Preheader) in convertToHardwareLoop() 1201 MachineBasicBlock::iterator InsertPos = Preheader->getFirstTerminator(); in convertToHardwareLoop() 1215 if (!MDT->dominates(BBDef, Preheader)) in convertToHardwareLoop() [all …]
|
/netbsd-src/external/apache2/llvm/dist/llvm/lib/Target/X86/ |
H A D | X86LowerAMXIntrinsics.cpp | 72 BasicBlock *createLoop(BasicBlock *Preheader, BasicBlock *Exit, Value *Bound, 103 BasicBlock *X86LowerAMXIntrinsics::createLoop(BasicBlock *Preheader, in createLoop() argument 107 LLVMContext &Ctx = Preheader->getContext(); in createLoop() 109 BasicBlock::Create(Ctx, Name + ".header", Preheader->getParent(), Exit); in createLoop() 120 IV->addIncoming(ConstantInt::get(I16Ty, 0), Preheader); in createLoop() 128 BranchInst *PreheaderBr = cast<BranchInst>(Preheader->getTerminator()); in createLoop() 132 {DominatorTree::Delete, Preheader, Tmp}, in createLoop() 137 {DominatorTree::Insert, Preheader, Header}, in createLoop()
|
/netbsd-src/external/apache2/llvm/dist/llvm/lib/Analysis/ |
H A D | LoopInfo.cpp | 96 BasicBlock *Preheader = getLoopPreheader(); in makeLoopInvariant() local 98 if (!Preheader) in makeLoopInvariant() 100 InsertPt = Preheader->getTerminator(); in makeLoopInvariant() 370 BasicBlock *Preheader = getLoopPreheader(); in getLoopGuardBranch() local 371 assert(Preheader && getLoopLatch() && in getLoopGuardBranch() 384 BasicBlock *GuardBB = Preheader->getUniquePredecessor(); in getLoopGuardBranch() 394 BasicBlock *GuardOtherSucc = (GuardBI->getSuccessor(0) == Preheader) in getLoopGuardBranch()
|
/netbsd-src/external/apache2/llvm/dist/llvm/include/llvm/Frontend/OpenMP/ |
H A D | OMPIRBuilder.h | 1108 BasicBlock *Preheader; variable 1127 BasicBlock *getPreheader() const { return Preheader; } in getPreheader() 1179 return {Preheader, std::prev(Preheader->end())}; in getPreheaderIP()
|
/netbsd-src/external/apache2/llvm/dist/llvm/include/llvm/Transforms/Utils/ |
H A D | MatrixUtils.h | 87 static BasicBlock *CreateLoop(BasicBlock *Preheader, BasicBlock *Exit,
|
/netbsd-src/external/apache2/llvm/dist/llvm/include/llvm/CodeGen/ |
H A D | ModuloSchedule.h | 176 MachineBasicBlock *Preheader; variable 303 MachineBasicBlock *Preheader; variable
|