Home
last modified time | relevance | path

Searched refs:Preds (Results 1 – 25 of 97) 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.cpp726 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 DSSAUpdaterImpl.h64 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 DBasicBlockUtils.h199 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 DScheduleDAG.cpp108 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 DMacroFusion.cpp39 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 DGCEmptyBasicBlocks.cpp73 SmallVector<MachineBasicBlock *, 8> Preds(MBB->predecessors()); in runOnMachineFunction() local
75 for (auto &Pred : Preds) in runOnMachineFunction()
H A DTailDuplicator.cpp112 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 DVLIWMachineScheduler.cpp308 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 DMIPatternMatch.h282 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 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/PowerPC/
H A DPPCCTRLoopsVerify.cpp97 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 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()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DBasicBlockUtils.cpp840 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 DFlattenCFG.cpp147 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 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/include/llvm/CodeGen/
H A DSDPatternMatch.h377 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 DScheduleDAG.h264 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 DAMDGPUExportClustering.cpp68 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 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/clang/lib/StaticAnalyzer/Core/
H A DExplodedGraph.cpp204 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 DHexagonSubtarget.cpp250 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 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.h876 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 …]

1234