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

123

/freebsd-11-stable/contrib/llvm-project/llvm/include/llvm/CodeGen/GlobalISel/
H A DMIPatternMatch.h72 template <typename... Preds> struct And {
79 template <typename Pred, typename... Preds>
80 struct And<Pred, Preds...> : And<Preds...> {
82 And(Pred &&p, Preds &&... preds)
83 : And<Preds...>(std::forward<Preds>(preds)...), P(std::forward<Pred>(p)) {
87 return P.match(MRI, src) && And<Preds...>::match(MRI, src);
91 template <typename... Preds> struct Or {
98 template <typename Pred, typename... Preds>
[all...]
/freebsd-11-stable/contrib/llvm-project/llvm/include/llvm/Analysis/
H A DTypeMetadataUtils.h51 SmallVectorImpl<Instruction *> &Preds, bool &HasNonCallUses,
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DCallSiteSplitting.cpp182 SmallVector<BasicBlock *, 2> Preds(predecessors((BB)));
183 assert(Preds.size() == 2 && "Expected exactly 2 predecessors!");
184 return Preds;
199 SmallVector<BasicBlock *, 2> Preds(predecessors(CallSiteBB));
200 if (Preds.size() != 2 || isa<IndirectBrInst>(Preds[0]->getTerminator()) ||
201 isa<IndirectBrInst>(Preds[1]->getTerminator()))
270 /// be split. In this case, Preds for Tail is [(Header, a == null),
308 const SmallVectorImpl<std::pair<BasicBlock *, ConditionsTy>> &Preds,
320 CallPN = PHINode::Create(Instr->getType(), Preds
306 splitCallSite( CallSite CS, const SmallVectorImpl<std::pair<BasicBlock *, ConditionsTy>> &Preds, DomTreeUpdater &DTU) argument
464 auto Preds = getTwoPredecessors(CS.getInstruction()->getParent()); local
[all...]
H A DGVNSink.cpp765 SmallVector<BasicBlock *, 4> Preds;
769 Preds.push_back(B);
773 if (Preds.size() < 2)
775 llvm::sort(Preds);
777 unsigned NumOrigPreds = Preds.size();
779 for (auto I = Preds.begin(); I != Preds.end();) {
781 I = Preds.erase(I);
786 LockstepReverseIterator LRI(Preds);
799 Cand->calculateCost(NumOrigPHIs, Preds
[all...]
/freebsd-11-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-11-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.h128 SCEVUnionPredicate Preds; member in class:llvm::LoopVersioning
H A DBasicBlockUtils.h240 /// The new predecessors are indicated by the Preds array. The new block is
242 /// from Preds are now pointing.
252 BasicBlock *SplitBlockPredecessors(BasicBlock *BB, ArrayRef<BasicBlock *> Preds,
261 /// predecessors listed in Preds. The other basic block gets the remaining
271 BasicBlock *OrigBB, ArrayRef<BasicBlock *> Preds, const char *Suffix,
/freebsd-11-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 DAggressiveAntiDepBreaker.cpp267 for (SUnit::const_pred_iterator P = SU->Preds.begin(), PE = SU->Preds.end();
283 for (SUnit::const_pred_iterator P = SU->Preds.begin(), PE = SU->Preds.end();
894 for (SUnit::const_pred_iterator P = PathSU->Preds.begin(),
895 PE = PathSU->Preds.end(); P != PE; ++P) {
903 for (SUnit::const_pred_iterator P = PathSU->Preds.begin(),
904 PE = PathSU->Preds.end(); P != PE; ++P) {
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.
711 SmallVector<MachineBasicBlock *, 8> Preds(TailBB->pred_begin(),
714 for (MachineBasicBlock *PredBB : Preds) {
821 SmallSetVector<MachineBasicBlock *, 8> Preds(TailBB->pred_begin(),
823 for (MachineBasicBlock *PredBB : Preds) {
959 for (MachineBasicBlock *PredBB : Preds) {
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DBasicBlockUtils.cpp553 ArrayRef<BasicBlock *> Preds,
570 MSSAU->wireOldPredecessorsToNewImmediatePredecessor(OldBB, NewBB, Preds);
583 for (BasicBlock *Pred : Preds) {
584 // Preds that are not reachable from entry should not be used to identify if
617 for (BasicBlock *Pred : Preds) {
644 ArrayRef<BasicBlock *> Preds, BranchInst *BI,
647 SmallPtrSet<BasicBlock *, 16> PredSet(Preds.begin(), Preds.end());
655 InVal = PN->getIncomingValueForBlock(Preds[0]);
691 PHINode::Create(PN->getType(), Preds
552 UpdateAnalysisInformation(BasicBlock *OldBB, BasicBlock *NewBB, ArrayRef<BasicBlock *> Preds, DominatorTree *DT, LoopInfo *LI, MemorySSAUpdater *MSSAU, bool PreserveLCSSA, bool &HasLoopExit) argument
643 UpdatePHINodes(BasicBlock *OrigBB, BasicBlock *NewBB, ArrayRef<BasicBlock *> Preds, BranchInst *BI, bool HasLoopExit) argument
709 SplitBlockPredecessors(BasicBlock *BB, ArrayRef<BasicBlock *> Preds, const char *Suffix, DominatorTree *DT, LoopInfo *LI, MemorySSAUpdater *MSSAU, bool PreserveLCSSA) argument
778 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-11-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-11-stable/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/
H A DExplodedGraph.cpp208 Preds.addNode(V, G);
472 if (N->Preds.empty()) {
478 WL1.append(N->Preds.begin(), N->Preds.end());
506 if (N->Preds.empty())
514 for (ExplodedNode::pred_iterator I = N->Preds.begin(), E = N->Preds.end();
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Target/Hexagon/
H A DHexagonSubtarget.cpp133 for (auto &D : SU.Preds)
162 for (SDep &PI : SI.getSUnit()->Preds) {
450 auto F = std::find(Dst->Preds.begin(), Dst->Preds.end(), T);
451 assert(F != Dst->Preds.end());
467 auto F = std::find(Dst->Preds.begin(), Dst->Preds.end(), T);
468 assert(F != Dst->Preds.end());
512 SUnit *SrcBest = getZeroLatency(Dst, Dst->Preds);
554 for (auto &I : DstBest->Preds)
[all...]
/freebsd-11-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...]
H A DARMLowOverheadLoops.cpp68 PredicatedMI(MachineInstr *I, SetVector<MachineInstr*> &Preds) : argument
70 Predicates.insert(Preds.begin(), Preds.end());
84 VPTBlock(MachineInstr *MI, SetVector<MachineInstr*> &Preds) { argument
85 VPST = std::make_unique<PredicatedMI>(MI, Preds);
88 void addInst(MachineInstr *MI, SetVector<MachineInstr*> &Preds) { argument
90 if (!Divergent && !set_difference(Preds, VPST->Predicates).empty()) {
94 Insts.emplace_back(MI, Preds);
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Target/AMDGPU/
H A DGCNMinRegStrategy.cpp96 for (auto PDep : SDep.getSUnit()->Preds) {
189 for (const auto &P : S.getSUnit()->Preds) {
201 for (const auto &P : SU->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 DSIAnnotateControlFlow.cpp304 SmallVector<BasicBlock *, 2> Preds; local
307 Preds.push_back(Pred);
310 BB = SplitBlockPredecessors(BB, Preds, "endcf.split", DT, LI, nullptr,

Completed in 404 milliseconds

123