| /freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/ |
| H A D | CallSiteSplitting.cpp | 179 SmallVector<BasicBlock *, 2> Preds(predecessors((BB))); in getTwoPredecessors() local 180 assert(Preds.size() == 2 && "Expected exactly 2 predecessors!"); in getTwoPredecessors() 181 return Preds; in getTwoPredecessors() 195 SmallVector<BasicBlock *, 2> Preds(predecessors(CallSiteBB)); in canSplitCallSite() local 196 if (Preds.size() != 2 || isa<IndirectBrInst>(Preds[0]->getTerminator()) || in canSplitCallSite() 197 isa<IndirectBrInst>(Preds[1]->getTerminator())) in canSplitCallSite() 303 ArrayRef<std::pair<BasicBlock *, ConditionsTy>> Preds, in splitCallSite() argument 314 CallPN = PHINode::Create(CB.getType(), Preds.size(), "phi.call"); in splitCallSite() 320 assert(Preds.size() == 2 && "The ValueToValueMaps array has size 2."); in splitCallSite() 324 for (unsigned i = 0; i < Preds.size(); i++) { in splitCallSite() [all …]
|
| H A D | GVNSink.cpp | 726 SmallVector<BasicBlock *, 4> Preds; in sinkBB() local 733 Preds.push_back(B); in sinkBB() 737 if (Preds.size() < 2) in sinkBB() 743 llvm::sort(Preds, ComesBefore); in sinkBB() 745 unsigned NumOrigPreds = Preds.size(); in sinkBB() 747 llvm::erase_if(Preds, [](BasicBlock *BB) { in sinkBB() 751 LockstepReverseIterator<false> LRI(Preds); in sinkBB() 764 Cand->calculateCost(NumOrigPHIs, Preds.size()); in sinkBB()
|
| /freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/ |
| H A D | SSAUpdaterImpl.h | 64 BBInfo **Preds = nullptr; variable 127 SmallVector<BlkT *, 10> Preds; in BuildBlockList() local 130 Preds.clear(); in BuildBlockList() 131 Traits::FindPredecessorBlocks(Info->BB, &Preds); in BuildBlockList() 132 Info->NumPreds = Preds.size(); in BuildBlockList() 134 Info->Preds = nullptr; in BuildBlockList() 136 Info->Preds = static_cast<BBInfo **>(Allocator.Allocate( in BuildBlockList() 140 BlkT *Pred = Preds[p]; in BuildBlockList() 144 Info->Preds[p] = BBMapBucket; in BuildBlockList() 152 Info->Preds[p] = PredInfo; in BuildBlockList() [all …]
|
| H A D | BasicBlockUtils.h | 199 LLVM_ABI void createPHIsForSplitLoopExit(ArrayRef<BasicBlock *> Preds, 356 BasicBlock *BB, ArrayRef<BasicBlock *> Preds, const char *Suffix, 375 BasicBlock *BB, ArrayRef<BasicBlock *> Preds, const char *Suffix, 391 BasicBlock *OrigBB, ArrayRef<BasicBlock *> Preds, const char *Suffix,
|
| /freebsd/contrib/llvm-project/llvm/lib/CodeGen/ |
| H A D | ScheduleDAG.cpp | 108 for (SDep &PredDep : Preds) { in addPred() 168 Preds.push_back(D); in addPred() 177 SmallVectorImpl<SDep>::iterator I = llvm::find(Preds, D); in removePred() 178 if (I == Preds.end()) in removePred() 212 Preds.erase(I); in removePred() 239 for (SDep &PredDep : SU->Preds) { in setHeightDirty() 272 for (const SDep &PredDep : Cur->Preds) { in ComputeDepth() 329 SUnit::pred_iterator BestI = Preds.begin(); in biasCriticalPath() 331 for (SUnit::pred_iterator I = std::next(BestI), E = Preds.end(); I != E; in biasCriticalPath() 338 if (BestI != Preds.begin()) in biasCriticalPath() [all …]
|
| H A D | MacroFusion.cpp | 39 for (const SDep &SI : SU.Preds) in getPredClusterSU() 61 for (SDep &SI : SecondSU.Preds) in fuseInstructionPair() 98 for (SDep &SI : SecondSU.Preds) in fuseInstructionPair() 124 for (const SDep &SI : SecondSU.Preds) { in fuseInstructionPair() 204 for (SDep &Dep : AnchorSU.Preds) { in scheduleAdjacentImpl()
|
| H A D | GCEmptyBasicBlocks.cpp | 73 SmallVector<MachineBasicBlock *, 8> Preds(MBB->predecessors()); in runOnMachineFunction() local 75 for (auto &Pred : Preds) in runOnMachineFunction()
|
| H A D | TailDuplicator.cpp | 112 SmallSetVector<MachineBasicBlock *, 8> Preds(MBB.pred_begin(), in VerifyPHIs() local 118 for (MachineBasicBlock *PredBB : Preds) { in VerifyPHIs() 138 if (CheckExtra && !Preds.count(PHIBB)) { in VerifyPHIs() 765 SmallVector<MachineBasicBlock *, 8> Preds(TailBB->predecessors()); in duplicateSimpleBB() local 767 for (MachineBasicBlock *PredBB : Preds) { in duplicateSimpleBB() 886 SmallSetVector<MachineBasicBlock *, 8> Preds; in tailDuplicate() local 888 Preds.insert_range(*CandidatePtr); in tailDuplicate() 890 Preds.insert_range(TailBB->predecessors()); in tailDuplicate() 892 for (MachineBasicBlock *PredBB : Preds) { in tailDuplicate() 1050 for (MachineBasicBlock *PredBB : Preds) { in tailDuplicate()
|
| H A D | VLIWMachineScheduler.cpp | 308 for (const SDep &PI : SU->Preds) { in releaseTopNode() 549 for (auto &Pred : SU->Preds) { in isSingleUnscheduledPred() 669 for (const SDep &PI : SU->Preds) in SchedulingCost() 707 for (const SDep &PI : SU->Preds) { in SchedulingCost() 733 for (const auto &PI : SU->Preds) { in SchedulingCost() 841 CurrSize = (*I)->Preds.size(); in pickNodeFromQueue() 842 CandSize = Candidate.SU->Preds.size(); in pickNodeFromQueue()
|
| /freebsd/contrib/llvm-project/llvm/include/llvm/CodeGen/GlobalISel/ |
| H A D | MIPatternMatch.h | 282 template <typename... Preds> struct And { 289 template <typename Pred, typename... Preds> 290 struct And<Pred, Preds...> : And<Preds...> { 292 And(Pred &&p, Preds &&... preds) 293 : And<Preds...>(std::forward<Preds>(preds)...), P(std::forward<Pred>(p)) { 297 return P.match(MRI, src) && And<Preds...>::match(MRI, src); 301 template <typename... Preds> struct Or { 308 template <typename Pred, typename... Preds> 309 struct Or<Pred, Preds...> : Or<Preds...> { 311 Or(Pred &&p, Preds &&... preds) [all …]
|
| /freebsd/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ |
| H A D | ExplodedGraph.h | 130 NodeGroup Preds; variable 199 unsigned pred_size() const { return Preds.size(); } in pred_size() 201 bool pred_empty() const { return Preds.empty(); } in pred_empty() 238 pred_iterator pred_begin() { return Preds.begin(); } in pred_begin() 239 pred_iterator pred_end() { return Preds.end(); } in pred_end() 240 pred_range preds() { return {Preds.begin(), Preds.end()}; } in preds() 248 const_pred_range preds() const { return {Preds.begin(), Preds.end()}; } in preds() 297 void replacePredecessor(ExplodedNode *node) { Preds.replaceNode(node); } in replacePredecessor()
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/PowerPC/ |
| H A D | PPCCTRLoopsVerify.cpp | 97 SmallVector<MachineBasicBlock *, 8> Preds; in verifyCTRBranch() local 133 if (!CheckPreds && Preds.empty()) in verifyCTRBranch() 146 append_range(Preds, MBB->predecessors()); in verifyCTRBranch() 150 MBB = Preds.pop_back_val(); in verifyCTRBranch() 155 } while (!Preds.empty()); in verifyCTRBranch()
|
| H A D | PPCHazardRecognizers.cpp | 38 for (unsigned i = 0, ie = (unsigned) SU->Preds.size(); i != ie; ++i) { in isLoadAfterStore() 39 const MCInstrDesc *PredMCID = DAG->getInstrDesc(SU->Preds[i].getSUnit()); in isLoadAfterStore() 43 if (!SU->Preds[i].isNormalMemory() && !SU->Preds[i].isBarrier()) in isLoadAfterStore() 47 if (SU->Preds[i].getSUnit() == CurGroup[j]) in isLoadAfterStore() 64 for (unsigned i = 0, ie = (unsigned) SU->Preds.size(); i != ie; ++i) { in isBCTRAfterSet() 65 const MCInstrDesc *PredMCID = DAG->getInstrDesc(SU->Preds[i].getSUnit()); in isBCTRAfterSet() 69 if (SU->Preds[i].isCtrl()) in isBCTRAfterSet() 73 if (SU->Preds[i].getSUnit() == CurGroup[j]) in isBCTRAfterSet()
|
| /freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/ |
| H A D | BasicBlockUtils.cpp | 840 void llvm::createPHIsForSplitLoopExit(ArrayRef<BasicBlock *> Preds, in createPHIsForSplitLoopExit() argument 860 PHINode *NewPN = PHINode::Create(PN.getType(), Preds.size(), "split"); in createPHIsForSplitLoopExit() 865 for (BasicBlock *BB : Preds) in createPHIsForSplitLoopExit() 1006 ArrayRef<BasicBlock *> Preds, in UpdateAnalysisInformation() argument 1024 Updates.reserve(Updates.size() + 2 * Preds.size()); in UpdateAnalysisInformation() 1025 for (auto *Pred : Preds) in UpdateAnalysisInformation() 1044 MSSAU->wireOldPredecessorsToNewImmediatePredecessor(OldBB, NewBB, Preds); in UpdateAnalysisInformation() 1059 for (BasicBlock *Pred : Preds) { in UpdateAnalysisInformation() 1093 for (BasicBlock *Pred : Preds) { in UpdateAnalysisInformation() 1120 ArrayRef<BasicBlock *> Preds, BranchInst *BI, in UpdatePHINodes() argument [all …]
|
| H A D | FlattenCFG.cpp | 147 SmallPtrSet<BasicBlock *, 16> Preds(llvm::from_range, predecessors(BB)); in FlattenParallelAndOr() local 148 for (BasicBlock *Pred : Preds) { in FlattenParallelAndOr() 163 if (UnCondBlock || !PP || !Preds.contains(PP) || in FlattenParallelAndOr() 179 if (PP && Preds.count(PP)) { in FlattenParallelAndOr() 216 if (!Preds.contains(PS)) { in FlattenParallelAndOr()
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/ARM/ |
| H A D | ARMInstructionSelector.cpp | 395 std::pair<ARMCC::CondCodes, ARMCC::CondCodes> Preds = {ARMCC::AL, ARMCC::AL}; in getComparePreds() local 398 Preds = {ARMCC::GT, ARMCC::MI}; in getComparePreds() 401 Preds = {ARMCC::EQ, ARMCC::VS}; in getComparePreds() 405 Preds.first = ARMCC::EQ; in getComparePreds() 409 Preds.first = ARMCC::GT; in getComparePreds() 413 Preds.first = ARMCC::GE; in getComparePreds() 417 Preds.first = ARMCC::HI; in getComparePreds() 420 Preds.first = ARMCC::MI; in getComparePreds() 424 Preds.first = ARMCC::LS; in getComparePreds() 427 Preds.first = ARMCC::VC; in getComparePreds() [all …]
|
| /freebsd/contrib/llvm-project/llvm/include/llvm/CodeGen/ |
| H A D | SDPatternMatch.h | 377 template <typename... Preds> struct And { 383 template <typename Pred, typename... Preds> 384 struct And<Pred, Preds...> : And<Preds...> { 386 And(const Pred &p, const Preds &...preds) : And<Preds...>(preds...), P(p) {} 390 return P.match(Ctx, N) && And<Preds...>::match(Ctx, N); 394 template <typename... Preds> struct Or { 400 template <typename Pred, typename... Preds> 401 struct Or<Pred, Preds...> : Or<Preds...> { 403 Or(const Pred &p, const Preds &...preds) : Or<Preds...>(preds...), P(p) {} 407 return P.match(Ctx, N) || Or<Preds...>::match(Ctx, N); [all …]
|
| H A D | ScheduleDAG.h | 264 SmallVector<SDep, 4> Preds; ///< All sunit predecessors. variable 454 for (const SDep &Pred : Preds) in isPred() 666 return Node->Preds[Operand].getSUnit(); 680 return SUnitIterator(N, (unsigned)N->Preds.size()); in end() 694 return Node->Preds[Operand]; in getSDep()
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/ |
| H A D | AMDGPUExportClustering.cpp | 68 for (const SDep &Pred : SUb->Preds) { in buildCluster() 84 for (const SDep &Pred : SU.Preds) { in removeExportDependencies() 93 for (const SDep &ExportPred : PredSU->Preds) { in removeExportDependencies()
|
| H A D | GCNMinRegStrategy.cpp | 90 for (auto PDep : SDep.getSUnit()->Preds) { in getReadySuccessors() 183 for (const auto &P : S.getSUnit()->Preds) { in bumpPredsPriority() 195 for (const auto &P : SU->Preds) { in bumpPredsPriority()
|
| H A D | GCNILPSched.cpp | 64 for (const SDep &Pred : SU->Preds) { in CalcNodeSethiUllmanNumber() 123 for (const SDep &Pred : SU->Preds) { in calcMaxScratches() 274 for (const auto &PredEdge : SU->Preds) { in releasePredecessors()
|
| /freebsd/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/ |
| H A D | ExplodedGraph.cpp | 204 Preds.addNode(V, G); in addPredecessor() 473 if (N->Preds.empty()) { in trim() 480 WL1.append(N->Preds.begin(), N->Preds.end()); in trim() 512 if (N->Preds.empty()) { in trim() 522 for (const ExplodedNode *Pred : N->Preds) { in trim()
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/Hexagon/ |
| H A D | HexagonSubtarget.cpp | 250 for (auto &D : SU.Preds) in apply() 279 for (SDep &PI : SI.getSUnit()->Preds) { in apply() 597 auto F = find(Dst->Preds, T); in restoreLatency() 598 assert(F != Dst->Preds.end()); in restoreLatency() 614 auto F = find(Dst->Preds, T); in changeLatency() 615 assert(F != Dst->Preds.end()); in changeLatency() 659 SUnit *SrcBest = getZeroLatency(Dst, Dst->Preds); in isBestZeroLatency() 701 for (auto &I : DstBest->Preds) in isBestZeroLatency()
|
| /freebsd/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/ |
| H A D | ResourcePriorityQueue.cpp | 69 for (SDep &Pred : SU->Preds) { in numberRCValPredInSU() 153 for (SDep &Pred : SU->Preds) in numberCtrlPredInSU() 211 for (const SDep &Pred : SU->Preds) { in getSingleUnscheduledPred() 497 for (SDep &Pred : SU->Preds) { in scheduledNode() 530 HorizontalVerticalBalance -= (SU->Preds.size() - numberCtrlPredInSU(SU)); in scheduledNode()
|
| /freebsd/contrib/llvm-project/clang/include/clang/Analysis/ |
| H A D | CFG.h | 876 AdjacentBlocks Preds; variable 896 : Elements(C), Terminator(nullptr), BlockID(blockid), Preds(C, 1), in CFGBlock() 972 pred_iterator pred_begin() { return Preds.begin(); } in pred_begin() 973 pred_iterator pred_end() { return Preds.end(); } in pred_end() 974 const_pred_iterator pred_begin() const { return Preds.begin(); } in pred_begin() 975 const_pred_iterator pred_end() const { return Preds.end(); } in pred_end() 977 pred_reverse_iterator pred_rbegin() { return Preds.rbegin(); } in pred_rbegin() 978 pred_reverse_iterator pred_rend() { return Preds.rend(); } in pred_rend() 979 const_pred_reverse_iterator pred_rbegin() const { return Preds.rbegin(); } in pred_rbegin() 980 const_pred_reverse_iterator pred_rend() const { return Preds.rend(); } in pred_rend() [all …]
|