/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 | 810 SmallVector<BasicBlock *, 4> Preds; in sinkBB() local 817 Preds.push_back(B); in sinkBB() 821 if (Preds.size() < 2) in sinkBB() 827 llvm::sort(Preds, ComesBefore); in sinkBB() 829 unsigned NumOrigPreds = Preds.size(); in sinkBB() 831 llvm::erase_if(Preds, [](BasicBlock *BB) { in sinkBB() 835 LockstepReverseIterator LRI(Preds); in sinkBB() 848 Cand->calculateCost(NumOrigPHIs, Preds.size()); in sinkBB()
|
/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/ |
H A D | SSAUpdaterImpl.h | 63 BBInfo **Preds = nullptr; variable 126 SmallVector<BlkT *, 10> Preds; in BuildBlockList() local 129 Preds.clear(); in BuildBlockList() 130 Traits::FindPredecessorBlocks(Info->BB, &Preds); in BuildBlockList() 131 Info->NumPreds = Preds.size(); in BuildBlockList() 133 Info->Preds = nullptr; in BuildBlockList() 135 Info->Preds = static_cast<BBInfo **>(Allocator.Allocate( in BuildBlockList() 139 BlkT *Pred = Preds[p]; in BuildBlockList() 144 Info->Preds[p] = BBMapBucket.second; in BuildBlockList() 152 Info->Preds[p] = PredInfo; in BuildBlockList() [all …]
|
H A D | BasicBlockUtils.h | 192 /// exit block. This function inserts the new PHIs, as needed. Preds is a list 195 void createPHIsForSplitLoopExit(ArrayRef<BasicBlock *> Preds, 329 /// The new predecessors are indicated by the Preds array. The new block is 331 /// from Preds are now pointing. 343 BasicBlock *SplitBlockPredecessors(BasicBlock *BB, ArrayRef<BasicBlock *> Preds, 351 /// The new predecessors are indicated by the Preds array. The new block is 353 /// from Preds are now pointing. 363 BasicBlock *SplitBlockPredecessors(BasicBlock *BB, ArrayRef<BasicBlock *> Preds, 372 /// predecessors listed in Preds. The other basic block gets the remaining 382 BasicBlock *OrigBB, ArrayRef<BasicBlock *> Preds, cons [all...] |
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/ |
H A D | ScheduleDAG.cpp | 108 for (SDep &PredDep : Preds) { in addPred() 165 Preds.push_back(D); in addPred() 176 SmallVectorImpl<SDep>::iterator I = llvm::find(Preds, D); in removePred() 177 if (I == Preds.end()) in removePred() 211 Preds.erase(I); in removePred() 240 for (SDep &PredDep : SU->Preds) { in setHeightDirty() 273 for (const SDep &PredDep : Cur->Preds) { in ComputeDepth() 330 SUnit::pred_iterator BestI = Preds.begin(); in biasCriticalPath() 332 for (SUnit::pred_iterator I = std::next(BestI), E = Preds.end(); I != E; in biasCriticalPath() 339 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() 86 for (SDep &SI : SecondSU.Preds) in fuseInstructionPair() 112 for (const SDep &SI : SecondSU.Preds) { in fuseInstructionPair() 192 for (SDep &Dep : AnchorSU.Preds) { in scheduleAdjacentImpl()
|
H A D | TailDuplicator.cpp | 113 SmallSetVector<MachineBasicBlock *, 8> Preds(MBB.pred_begin(), in VerifyPHIs() local 119 for (MachineBasicBlock *PredBB : Preds) { in VerifyPHIs() 139 if (CheckExtra && !Preds.count(PHIBB)) { in VerifyPHIs() 744 SmallVector<MachineBasicBlock *, 8> Preds(TailBB->predecessors()); in duplicateSimpleBB() local 746 for (MachineBasicBlock *PredBB : Preds) { in duplicateSimpleBB() 865 SmallSetVector<MachineBasicBlock *, 8> Preds; in tailDuplicate() local 867 Preds.insert(CandidatePtr->begin(), CandidatePtr->end()); in tailDuplicate() 869 Preds.insert(TailBB->pred_begin(), TailBB->pred_end()); in tailDuplicate() 871 for (MachineBasicBlock *PredBB : Preds) { in tailDuplicate() 1029 for (MachineBasicBlock *PredBB : Preds) { in tailDuplicate()
|
H A D | MachinePipeliner.cpp | 998 for (auto &PI : I.Preds) { in updatePhiDependences() 1049 for (const SDep &P : I.Preds) in changeDependences() 1058 for (auto &P : LastSU->Preds) in changeDependences() 1633 for (SDep &Pred : SU.Preds) in swapAntiDependences() 1685 for (auto &PI : SUnits[i].Preds) { in createAdjacencyStructure() 1808 for (auto &Dep : SU.Preds) { in apply() 1890 for (const SDep &P : SU->Preds) { in computeNodeFunctions() 1949 SmallSetVector<SUnit *, 8> &Preds, in pred_L() argument 1951 Preds.clear(); in pred_L() 1953 for (const SDep &Pred : SU->Preds) { in pred_L() [all …]
|
H A D | VLIWMachineScheduler.cpp | 311 for (const SDep &PI : SU->Preds) { in releaseTopNode() 552 for (auto &Pred : SU->Preds) { in isSingleUnscheduledPred() 672 for (const SDep &PI : SU->Preds) in SchedulingCost() 710 for (const SDep &PI : SU->Preds) { in SchedulingCost() 736 for (const auto &PI : SU->Preds) { in SchedulingCost() 844 CurrSize = (*I)->Preds.size(); in pickNodeFromQueue() 845 CandSize = Candidate.SU->Preds.size(); in pickNodeFromQueue()
|
/freebsd/contrib/llvm-project/llvm/include/llvm/CodeGen/GlobalISel/ |
H A D | MIPatternMatch.h | 273 template <typename... Preds> struct And { 280 template <typename Pred, typename... Preds> 281 struct And<Pred, Preds...> : And<Preds...> { 283 And(Pred &&p, Preds &&... preds) 284 : And<Preds...>(std::forward<Preds>(preds)...), P(std::forward<Pred>(p)) { 288 return P.match(MRI, src) && And<Preds...>::match(MRI, src); 292 template <typename... Preds> struct Or { 299 template <typename Pred, typename... Preds> 300 struct Or<Pred, Preds...> : Or<Preds...> { 302 Or(Pred &&p, Preds &&... preds) [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/Target/PowerPC/ |
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()
|
H A D | PPCCTRLoopsVerify.cpp | 99 SmallVector<MachineBasicBlock *, 8> Preds; in verifyCTRBranch() local 135 if (!CheckPreds && Preds.empty()) in verifyCTRBranch() 148 append_range(Preds, MBB->predecessors()); in verifyCTRBranch() 152 MBB = Preds.pop_back_val(); in verifyCTRBranch() 157 } while (!Preds.empty()); in verifyCTRBranch()
|
/freebsd/contrib/llvm-project/llvm/include/llvm/CodeGen/ |
H A D | SDPatternMatch.h | 324 template <typename... Preds> struct And { 330 template <typename Pred, typename... Preds> 331 struct And<Pred, Preds...> : And<Preds...> { 333 And(const Pred &p, const Preds &...preds) : And<Preds...>(preds...), P(p) {} 337 return P.match(Ctx, N) && And<Preds...>::match(Ctx, N); 341 template <typename... Preds> struct Or { 347 template <typename Pred, typename... Preds> 348 struct Or<Pred, Preds...> : Or<Preds...> { 350 Or(const Pred &p, const Preds &...preds) : Or<Preds...>(preds...), P(p) {} 354 return P.match(Ctx, N) || Or<Preds...>::match(Ctx, N); [all …]
|
H A D | ScheduleDAG.h | 262 SmallVector<SDep, 4> Preds; ///< All sunit predecessors. variable 450 for (const SDep &Pred : Preds) in isPred() 662 return Node->Preds[Operand].getSUnit(); 676 return SUnitIterator(N, (unsigned)N->Preds.size()); in end() 690 return Node->Preds[Operand]; in getSDep()
|
/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/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/lib/Transforms/Utils/ |
H A D | BasicBlockUtils.cpp | 980 void llvm::createPHIsForSplitLoopExit(ArrayRef<BasicBlock *> Preds, in createPHIsForSplitLoopExit() argument 1000 PHINode *NewPN = PHINode::Create(PN.getType(), Preds.size(), "split"); in createPHIsForSplitLoopExit() 1005 for (BasicBlock *BB : Preds) in createPHIsForSplitLoopExit() 1146 ArrayRef<BasicBlock *> Preds, in UpdateAnalysisInformation() argument 1164 Updates.reserve(Updates.size() + 2 * Preds.size()); in UpdateAnalysisInformation() 1165 for (auto *Pred : Preds) in UpdateAnalysisInformation() 1184 MSSAU->wireOldPredecessorsToNewImmediatePredecessor(OldBB, NewBB, Preds); in UpdateAnalysisInformation() 1199 for (BasicBlock *Pred : Preds) { in UpdateAnalysisInformation() 1233 for (BasicBlock *Pred : Preds) { in UpdateAnalysisInformation() 1260 ArrayRef<BasicBlock *> Preds, BranchInst *BI, in UpdatePHINodes() argument [all …]
|
H A D | FlattenCFG.cpp | 147 SmallPtrSet<BasicBlock *, 16> Preds(pred_begin(BB), pred_end(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/clang/lib/StaticAnalyzer/Core/ |
H A D | ExplodedGraph.cpp | 206 Preds.addNode(V, G); in addPredecessor() 469 if (N->Preds.empty()) { in trim() 475 WL1.append(N->Preds.begin(), N->Preds.end()); in trim() 503 if (N->Preds.empty()) in trim() 511 for (const ExplodedNode *Pred : N->Preds) { in trim()
|
/freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/ |
H A D | AMDGPUExportClustering.cpp | 69 for (const SDep &Pred : SUb->Preds) { in buildCluster() 85 for (const SDep &Pred : SU.Preds) { in removeExportDependencies() 94 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/llvm/lib/Target/Hexagon/ |
H A D | HexagonSubtarget.cpp | 251 for (auto &D : SU.Preds) in apply() 280 for (SDep &PI : SI.getSUnit()->Preds) { in apply() 596 auto F = find(Dst->Preds, T); in restoreLatency() 597 assert(F != Dst->Preds.end()); in restoreLatency() 613 auto F = find(Dst->Preds, T); in changeLatency() 614 assert(F != Dst->Preds.end()); in changeLatency() 658 SUnit *SrcBest = getZeroLatency(Dst, Dst->Preds); in isBestZeroLatency() 700 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 | 870 AdjacentBlocks Preds; variable 890 : Elements(C), Terminator(nullptr), BlockID(blockid), Preds(C, 1), in CFGBlock() 966 pred_iterator pred_begin() { return Preds.begin(); } in pred_begin() 967 pred_iterator pred_end() { return Preds.end(); } in pred_end() 968 const_pred_iterator pred_begin() const { return Preds.begin(); } in pred_begin() 969 const_pred_iterator pred_end() const { return Preds.end(); } in pred_end() 971 pred_reverse_iterator pred_rbegin() { return Preds.rbegin(); } in pred_rbegin() 972 pred_reverse_iterator pred_rend() { return Preds.rend(); } in pred_rend() 973 const_pred_reverse_iterator pred_rbegin() const { return Preds.rbegin(); } in pred_rbegin() 974 const_pred_reverse_iterator pred_rend() const { return Preds.rend(); } in pred_rend() [all …]
|