Searched refs:Preds (Results 1 - 25 of 73) sorted by relevance

123

/freebsd-13-stable/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DCallSiteSplitting.cpp181 SmallVector<BasicBlock *, 2> Preds(predecessors((BB)));
182 assert(Preds.size() == 2 && "Expected exactly 2 predecessors!");
183 return Preds;
197 SmallVector<BasicBlock *, 2> Preds(predecessors(CallSiteBB));
198 if (Preds.size() != 2 || isa<IndirectBrInst>(Preds[0]->getTerminator()) ||
199 isa<IndirectBrInst>(Preds[1]->getTerminator()))
268 /// be split. In this case, Preds for Tail is [(Header, a == null),
306 const SmallVectorImpl<std::pair<BasicBlock *, ConditionsTy>> &Preds,
317 CallPN = PHINode::Create(CB.getType(), Preds
304 splitCallSite( CallBase &CB, const SmallVectorImpl<std::pair<BasicBlock *, ConditionsTy>> &Preds, DomTreeUpdater &DTU) argument
457 auto Preds = getTwoPredecessors(CB.getParent()); local
[all...]
H A DGVNSink.cpp770 SmallVector<BasicBlock *, 4> Preds;
774 Preds.push_back(B);
778 if (Preds.size() < 2)
780 llvm::sort(Preds);
782 unsigned NumOrigPreds = Preds.size();
784 for (auto I = Preds.begin(); I != Preds.end();) {
786 I = Preds.erase(I);
791 LockstepReverseIterator LRI(Preds);
804 Cand->calculateCost(NumOrigPHIs, Preds
[all...]
/freebsd-13-stable/contrib/llvm-project/llvm/include/llvm/CodeGen/GlobalISel/
H A DMIPatternMatch.h71 template <typename... Preds> struct And {
78 template <typename Pred, typename... Preds>
79 struct And<Pred, Preds...> : And<Preds...> {
81 And(Pred &&p, Preds &&... preds)
82 : And<Preds...>(std::forward<Preds>(preds)...), P(std::forward<Pred>(p)) {
86 return P.match(MRI, src) && And<Preds...>::match(MRI, src);
90 template <typename... Preds> struct Or {
97 template <typename Pred, typename... Preds>
[all...]
/freebsd-13-stable/contrib/llvm-project/llvm/lib/Target/PowerPC/
H A DPPCCTRLoops.cpp132 SmallVector<MachineBasicBlock *, 8> Preds; local
168 if (!CheckPreds && Preds.empty())
183 Preds.push_back(*PI);
187 MBB = Preds.pop_back_val();
192 } while (!Preds.empty());
H A DPPCHazardRecognizers.cpp38 for (unsigned i = 0, ie = (unsigned) SU->Preds.size(); i != ie; ++i) {
39 const MCInstrDesc *PredMCID = DAG->getInstrDesc(SU->Preds[i].getSUnit());
43 if (!SU->Preds[i].isNormalMemory() && !SU->Preds[i].isBarrier())
47 if (SU->Preds[i].getSUnit() == CurGroup[j])
64 for (unsigned i = 0, ie = (unsigned) SU->Preds.size(); i != ie; ++i) {
65 const MCInstrDesc *PredMCID = DAG->getInstrDesc(SU->Preds[i].getSUnit());
69 if (SU->Preds[i].isCtrl())
73 if (SU->Preds[i].getSUnit() == CurGroup[j])
/freebsd-13-stable/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/
H A DSSAUpdaterImpl.h63 BBInfo **Preds = nullptr; member in class:llvm::SSAUpdaterImpl::BBInfo
126 SmallVector<BlkT *, 10> Preds; local
129 Preds.clear();
130 Traits::FindPredecessorBlocks(Info->BB, &Preds);
131 Info->NumPreds = Preds.size();
133 Info->Preds = nullptr;
135 Info->Preds = static_cast<BBInfo **>(Allocator.Allocate(
139 BlkT *Pred = Preds[p];
144 Info->Preds[p] = BBMapBucket.second;
152 Info->Preds[
[all...]
H A DLoopVersioning.h132 SCEVUnionPredicate Preds; member in class:llvm::LoopVersioning
H A DBasicBlockUtils.h263 /// The new predecessors are indicated by the Preds array. The new block is
265 /// from Preds are now pointing.
275 BasicBlock *SplitBlockPredecessors(BasicBlock *BB, ArrayRef<BasicBlock *> Preds,
284 /// predecessors listed in Preds. The other basic block gets the remaining
294 BasicBlock *OrigBB, ArrayRef<BasicBlock *> Preds, const char *Suffix,
/freebsd-13-stable/contrib/llvm-project/llvm/lib/CodeGen/
H A DScheduleDAG.cpp109 for (SDep &PredDep : Preds) {
166 Preds.push_back(D);
177 SmallVectorImpl<SDep>::iterator I = llvm::find(Preds, D);
178 if (I == Preds.end())
187 Preds.erase(I);
239 for (SDep &PredDep : SU->Preds) {
272 for (const SDep &PredDep : Cur->Preds) {
329 SUnit::pred_iterator BestI = Preds.begin();
331 for (SUnit::pred_iterator I = std::next(BestI), E = Preds.end(); I != E;
336 if (BestI != Preds
[all...]
H A DMacroFusion.cpp40 for (const SDep &SI : SU.Preds)
62 for (SDep &SI : SecondSU.Preds)
87 for (SDep &SI : SecondSU.Preds)
113 for (const SDep &SI : SecondSU.Preds) {
178 for (SDep &Dep : AnchorSU.Preds) {
H A DLatencyPriorityQueue.cpp58 for (SUnit::const_pred_iterator I = SU->Preds.begin(), E = SU->Preds.end();
H A DTailDuplicator.cpp105 SmallSetVector<MachineBasicBlock *, 8> Preds(MBB->pred_begin(),
111 for (MachineBasicBlock *PredBB : Preds) {
131 if (CheckExtra && !Preds.count(PHIBB)) {
156 /// all Preds that received a copy of \p MBB.
723 SmallVector<MachineBasicBlock *, 8> Preds(TailBB->pred_begin(),
726 for (MachineBasicBlock *PredBB : Preds) {
836 SmallSetVector<MachineBasicBlock *, 8> Preds; local
838 Preds.insert(CandidatePtr->begin(), CandidatePtr->end());
840 Preds.insert(TailBB->pred_begin(), TailBB->pred_end());
842 for (MachineBasicBlock *PredBB : Preds) {
[all...]
/freebsd-13-stable/contrib/llvm-project/llvm/include/llvm/Analysis/
H A DTypeMetadataUtils.h56 SmallVectorImpl<Instruction *> &Preds, bool &HasNonCallUses,
/freebsd-13-stable/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/PathSensitive/
H A DExplodedGraph.h128 /// Preds - The predecessors of this node.
129 NodeGroup Preds; member in class:clang::ento::ExplodedNode
200 unsigned pred_size() const { return Preds.size(); }
202 bool pred_empty() const { return Preds.empty(); }
239 pred_iterator pred_begin() { return Preds.begin(); }
240 pred_iterator pred_end() { return Preds.end(); }
241 pred_range preds() { return {Preds.begin(), Preds.end()}; }
249 const_pred_range preds() const { return {Preds.begin(), Preds
[all...]
/freebsd-13-stable/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DBasicBlockUtils.cpp579 ArrayRef<BasicBlock *> Preds,
596 MSSAU->wireOldPredecessorsToNewImmediatePredecessor(OldBB, NewBB, Preds);
609 for (BasicBlock *Pred : Preds) {
610 // Preds that are not reachable from entry should not be used to identify if
643 for (BasicBlock *Pred : Preds) {
670 ArrayRef<BasicBlock *> Preds, BranchInst *BI,
673 SmallPtrSet<BasicBlock *, 16> PredSet(Preds.begin(), Preds.end());
681 InVal = PN->getIncomingValueForBlock(Preds[0]);
717 PHINode::Create(PN->getType(), Preds
578 UpdateAnalysisInformation(BasicBlock *OldBB, BasicBlock *NewBB, ArrayRef<BasicBlock *> Preds, DominatorTree *DT, LoopInfo *LI, MemorySSAUpdater *MSSAU, bool PreserveLCSSA, bool &HasLoopExit) argument
669 UpdatePHINodes(BasicBlock *OrigBB, BasicBlock *NewBB, ArrayRef<BasicBlock *> Preds, BranchInst *BI, bool HasLoopExit) argument
735 SplitBlockPredecessors(BasicBlock *BB, ArrayRef<BasicBlock *> Preds, const char *Suffix, DominatorTree *DT, LoopInfo *LI, MemorySSAUpdater *MSSAU, bool PreserveLCSSA) argument
804 SplitLandingPadPredecessors(BasicBlock *OrigBB, ArrayRef<BasicBlock *> Preds, const char *Suffix1, const char *Suffix2, SmallVectorImpl<BasicBlock *> &NewBBs, DominatorTree *DT, LoopInfo *LI, MemorySSAUpdater *MSSAU, bool PreserveLCSSA) argument
[all...]
H A DFlattenCFG.cpp147 SmallPtrSet<BasicBlock *, 16> Preds(pred_begin(BB), pred_end(BB));
148 for (SmallPtrSetIterator<BasicBlock *> PI = Preds.begin(), PE = Preds.end();
165 if (UnCondBlock || !PP || (Preds.count(PP) == 0) ||
181 if (PP && Preds.count(PP)) {
218 if (Preds.count(PS) == 0) {
H A DBreakCriticalEdges.cpp104 /// exit block. This function inserts the new PHIs, as needed. Preds is a list
107 static void createPHIsForSplitLoopExit(ArrayRef<BasicBlock *> Preds, argument
127 PN.getType(), Preds.size(), "split",
129 for (unsigned i = 0, e = Preds.size(); i != e; ++i)
130 NewPN->addIncoming(V, Preds[i]);
/freebsd-13-stable/contrib/llvm-project/llvm/lib/Target/AMDGPU/
H A DAMDGPUExportClustering.cpp71 for (const SDep &Pred : SUb->Preds) {
87 for (const SDep &Pred : SU.Preds) {
96 for (const SDep &ExportPred : PredSU->Preds) {
H A DGCNILPSched.cpp65 for (const SDep &Pred : SU->Preds) {
124 for (const SDep &Pred : SU->Preds) {
277 for (const auto &PredEdge : SU->Preds) {
H A DGCNMinRegStrategy.cpp103 for (auto PDep : SDep.getSUnit()->Preds) {
196 for (const auto &P : S.getSUnit()->Preds) {
208 for (const auto &P : SU->Preds) {
H A DSIAnnotateControlFlow.cpp304 SmallVector<BasicBlock *, 2> Preds; local
307 Preds.push_back(Pred);
310 BB = SplitBlockPredecessors(BB, Preds, "endcf.split", DT, LI, nullptr,
/freebsd-13-stable/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/
H A DExplodedGraph.cpp207 Preds.addNode(V, G);
471 if (N->Preds.empty()) {
477 WL1.append(N->Preds.begin(), N->Preds.end());
505 if (N->Preds.empty())
513 for (ExplodedNode::pred_iterator I = N->Preds.begin(), E = N->Preds.end();
/freebsd-13-stable/contrib/llvm-project/llvm/lib/Target/Hexagon/
H A DHexagonSubtarget.cpp132 for (auto &D : SU.Preds)
161 for (SDep &PI : SI.getSUnit()->Preds) {
459 auto F = std::find(Dst->Preds.begin(), Dst->Preds.end(), T);
460 assert(F != Dst->Preds.end());
476 auto F = std::find(Dst->Preds.begin(), Dst->Preds.end(), T);
477 assert(F != Dst->Preds.end());
521 SUnit *SrcBest = getZeroLatency(Dst, Dst->Preds);
563 for (auto &I : DstBest->Preds)
[all...]
/freebsd-13-stable/contrib/llvm-project/llvm/lib/Target/ARM/
H A DARMInstructionSelector.cpp395 std::pair<ARMCC::CondCodes, ARMCC::CondCodes> Preds = {ARMCC::AL, ARMCC::AL}; local
398 Preds = {ARMCC::GT, ARMCC::MI};
401 Preds = {ARMCC::EQ, ARMCC::VS};
405 Preds.first = ARMCC::EQ;
409 Preds.first = ARMCC::GT;
413 Preds.first = ARMCC::GE;
417 Preds.first = ARMCC::HI;
420 Preds.first = ARMCC::MI;
424 Preds.first = ARMCC::LS;
427 Preds
[all...]
/freebsd-13-stable/contrib/llvm-project/llvm/lib/Analysis/
H A DTypeMetadataUtils.cpp101 SmallVectorImpl<Instruction *> &Preds, bool &HasNonCallUses,
120 Preds.push_back(EVI);
98 findDevirtualizableCallsForTypeCheckedLoad( SmallVectorImpl<DevirtCallSite> &DevirtCalls, SmallVectorImpl<Instruction *> &LoadedPtrs, SmallVectorImpl<Instruction *> &Preds, bool &HasNonCallUses, const CallInst *CI, DominatorTree &DT) argument

Completed in 213 milliseconds

123