Home
last modified time | relevance | path

Searched refs:Preds (Results 1 – 25 of 90) sorted by relevance

1234

/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DCallSiteSplitting.cpp179 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 DGVNSink.cpp810 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 DSSAUpdaterImpl.h63 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 DBasicBlockUtils.h192 /// 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 DScheduleDAG.cpp108 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 DMacroFusion.cpp39 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 DTailDuplicator.cpp113 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 DMachinePipeliner.cpp998 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 DVLIWMachineScheduler.cpp311 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 DMIPatternMatch.h273 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 DPPCHazardRecognizers.cpp38 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 DPPCCTRLoopsVerify.cpp99 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 DSDPatternMatch.h324 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 DScheduleDAG.h262 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 DExplodedGraph.h130 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 DARMInstructionSelector.cpp395 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 DBasicBlockUtils.cpp980 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 DFlattenCFG.cpp147 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 DExplodedGraph.cpp206 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 DAMDGPUExportClustering.cpp69 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 DGCNMinRegStrategy.cpp90 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 DGCNILPSched.cpp64 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 DHexagonSubtarget.cpp251 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 DResourcePriorityQueue.cpp69 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 DCFG.h870 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 …]

1234