| /llvm-project-15.0.7/llvm/lib/Transforms/Scalar/ |
| H A D | CallSiteSplitting.cpp | 183 return Preds; in getTwoPredecessors() 198 if (Preds.size() != 2 || isa<IndirectBrInst>(Preds[0]->getTerminator()) || in canSplitCallSite() 199 isa<IndirectBrInst>(Preds[1]->getTerminator())) in canSplitCallSite() 326 for (unsigned i = 0; i < Preds.size(); i++) { in splitCallSite() 327 BasicBlock *PredBB = Preds[i].first; in splitCallSite() 335 addConditions(*NewCI, Preds[i].second); in splitCallSite() 447 auto Preds = getTwoPredecessors(CB.getParent()); in shouldSplitOnPHIPredicatedArgument() local 448 return {{Preds[0], {}}, {Preds[1], {}}}; in shouldSplitOnPHIPredicatedArgument() 456 auto Preds = getTwoPredecessors(CB.getParent()); in shouldSplitOnPredicatedArgument() local 457 if (Preds[0] == Preds[1]) in shouldSplitOnPredicatedArgument() [all …]
|
| H A D | GVNSink.cpp | 770 SmallVector<BasicBlock *, 4> Preds; in sinkBB() local 774 Preds.push_back(B); in sinkBB() 778 if (Preds.size() < 2) in sinkBB() 780 llvm::sort(Preds); in sinkBB() 782 unsigned NumOrigPreds = Preds.size(); in sinkBB() 784 llvm::erase_if(Preds, [](BasicBlock *BB) { in sinkBB() 788 LockstepReverseIterator LRI(Preds); in sinkBB() 801 Cand->calculateCost(NumOrigPHIs, Preds.size()); in sinkBB()
|
| /llvm-project-15.0.7/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() 131 Info->NumPreds = Preds.size(); in BuildBlockList() 133 Info->Preds = nullptr; in BuildBlockList() 139 BlkT *Pred = Preds[p]; in BuildBlockList() 144 Info->Preds[p] = BBMapBucket.second; in BuildBlockList() 152 Info->Preds[p] = PredInfo; in BuildBlockList() 252 BBInfo *Pred = Info->Preds[p]; in FindDominators() 344 Info->DefBB = Info->Preds[0]->DefBB; in FindSingularVal() [all …]
|
| H A D | BasicBlockUtils.h | 192 void createPHIsForSplitLoopExit(ArrayRef<BasicBlock *> Preds, 323 BasicBlock *SplitBlockPredecessors(BasicBlock *BB, ArrayRef<BasicBlock *> Preds, 343 BasicBlock *SplitBlockPredecessors(BasicBlock *BB, ArrayRef<BasicBlock *> Preds, 364 ArrayRef<BasicBlock *> Preds, 383 BasicBlock *OrigBB, ArrayRef<BasicBlock *> Preds, const char *Suffix,
|
| /llvm-project-15.0.7/llvm/include/llvm/CodeGen/GlobalISel/ |
| H A D | MIPatternMatch.h | 263 struct And<Pred, Preds...> : And<Preds...> { 265 And(Pred &&p, Preds &&... preds) 266 : And<Preds...>(std::forward<Preds>(preds)...), P(std::forward<Pred>(p)) { 274 template <typename... Preds> struct Or { 282 struct Or<Pred, Preds...> : Or<Preds...> { 284 Or(Pred &&p, Preds &&... preds) 285 : Or<Preds...>(std::forward<Preds>(preds)...), P(std::forward<Pred>(p)) {} 292 template <typename... Preds> And<Preds...> m_all_of(Preds &&... preds) { 293 return And<Preds...>(std::forward<Preds>(preds)...); 296 template <typename... Preds> Or<Preds...> m_any_of(Preds &&... preds) { [all …]
|
| /llvm-project-15.0.7/llvm/lib/CodeGen/ |
| H A D | ScheduleDAG.cpp | 109 for (SDep &PredDep : Preds) { in addPred() 166 Preds.push_back(D); in addPred() 178 if (I == Preds.end()) in removePred() 187 Preds.erase(I); in removePred() 239 for (SDep &PredDep : SU->Preds) { in setHeightDirty() 272 for (const SDep &PredDep : Cur->Preds) { in ComputeDepth() 336 if (BestI != Preds.begin()) in biasCriticalPath() 337 std::swap(*Preds.begin(), *BestI); in biasCriticalPath() 366 if (SU.Preds.size() > 0) { in dumpNodeAll() 368 for (const SDep &Dep : SU.Preds) { in dumpNodeAll() [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() 177 for (SDep &Dep : AnchorSU.Preds) { in scheduleAdjacentImpl()
|
| H A D | TailDuplicator.cpp | 102 SmallSetVector<MachineBasicBlock *, 8> Preds(MBB.pred_begin(), in VerifyPHIs() local 108 for (MachineBasicBlock *PredBB : Preds) { in VerifyPHIs() 128 if (CheckExtra && !Preds.count(PHIBB)) { in VerifyPHIs() 723 SmallVector<MachineBasicBlock *, 8> Preds(TailBB->predecessors()); in duplicateSimpleBB() local 725 for (MachineBasicBlock *PredBB : Preds) { in duplicateSimpleBB() 835 SmallSetVector<MachineBasicBlock *, 8> Preds; in tailDuplicate() local 837 Preds.insert(CandidatePtr->begin(), CandidatePtr->end()); in tailDuplicate() 839 Preds.insert(TailBB->pred_begin(), TailBB->pred_end()); in tailDuplicate() 841 for (MachineBasicBlock *PredBB : Preds) { in tailDuplicate() 999 for (MachineBasicBlock *PredBB : Preds) { in tailDuplicate()
|
| H A D | MachinePipeliner.cpp | 901 for (auto &PI : I.Preds) { in updatePhiDependences() 1195 for (SDep &Pred : SU.Preds) in swapAntiDependences() 1370 for (auto &Dep : SU.Preds) { in apply() 1513 Preds.clear(); in pred_L() 1533 return !Preds.empty(); in pred_L() 1583 for (auto &PI : Cur->Preds) in computePath() 1799 for (auto &PI : SU->Preds) { in addConnectedNodes() 2460 for (auto &P : SU->Preds) in multipleIterations() 2614 for (auto &P : SU->Preds) { in orderDependence() 2725 for (auto &Dep : SU->Preds) in computeUnpipelineableNodes() [all …]
|
| /llvm-project-15.0.7/llvm/test/Analysis/LoopAccessAnalysis/ |
| H A D | forked-pointers.ll | 87 ; CHECK-NEXT: (Low: %Preds High: (400 + %Preds)) 88 ; CHECK-NEXT: Member: {%Preds,+,4}<nuw><%for.body> 136 %arrayidx = getelementptr inbounds i32, ptr %Preds, i64 %indvars.iv 174 ; CHECK-NEXT: (Low: %Preds High: (400 + %Preds)) 175 ; CHECK-NEXT: Member: {%Preds,+,4}<nuw><%for.body> 235 ; CHECK-NEXT: (Low: %Preds High: (400 + %Preds)) 236 ; CHECK-NEXT: Member: {%Preds,+,4}<nuw><%for.body> 296 ; CHECK-NEXT: (Low: %Preds High: (400 + %Preds)) 297 ; CHECK-NEXT: Member: {%Preds,+,4}<nuw><%for.body> 357 ; CHECK-NEXT: (Low: %Preds High: (400 + %Preds)) [all …]
|
| /llvm-project-15.0.7/llvm/lib/Target/PowerPC/ |
| H A D | PPCCTRLoopsVerify.cpp | 101 SmallVector<MachineBasicBlock *, 8> Preds; in verifyCTRBranch() local 137 if (!CheckPreds && Preds.empty()) in verifyCTRBranch() 150 append_range(Preds, MBB->predecessors()); in verifyCTRBranch() 154 MBB = Preds.pop_back_val(); in verifyCTRBranch() 159 } while (!Preds.empty()); in verifyCTRBranch()
|
| 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()
|
| /llvm-project-15.0.7/llvm/lib/Transforms/Utils/ |
| H A D | BasicBlockUtils.cpp | 757 PN.getType(), Preds.size(), "split", in createPHIsForSplitLoopExit() 759 for (BasicBlock *BB : Preds) in createPHIsForSplitLoopExit() 918 for (auto *Pred : Preds) in UpdateAnalysisInformation() 952 for (BasicBlock *Pred : Preds) { in UpdateAnalysisInformation() 986 for (BasicBlock *Pred : Preds) { in UpdateAnalysisInformation() 1016 SmallPtrSet<BasicBlock *, 16> PredSet(Preds.begin(), Preds.end()); in UpdatePHINodes() 1024 InVal = PN->getIncomingValueForBlock(Preds[0]); in UpdatePHINodes() 1142 if (Preds.empty()) { in SplitBlockPredecessorsImpl() 1153 if (!Preds.empty()) { in SplitBlockPredecessorsImpl() 1155 UpdatePHINodes(BB, NewBB, Preds, BI, HasLoopExit); in SplitBlockPredecessorsImpl() [all …]
|
| H A D | FlattenCFG.cpp | 147 SmallPtrSet<BasicBlock *, 16> Preds(pred_begin(BB), pred_end(BB)); in FlattenParallelAndOr() local 148 for (SmallPtrSetIterator<BasicBlock *> PI = Preds.begin(), PE = Preds.end(); in FlattenParallelAndOr() 165 if (UnCondBlock || !PP || !Preds.contains(PP) || in FlattenParallelAndOr() 181 if (PP && Preds.count(PP)) { in FlattenParallelAndOr() 218 if (!Preds.contains(PS)) { in FlattenParallelAndOr()
|
| /llvm-project-15.0.7/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ |
| H A D | ExplodedGraph.h | 129 NodeGroup Preds; variable 198 unsigned pred_size() const { return Preds.size(); } in pred_size() 200 bool pred_empty() const { return Preds.empty(); } in pred_empty() 237 pred_iterator pred_begin() { return Preds.begin(); } in pred_begin() 238 pred_iterator pred_end() { return Preds.end(); } in pred_end() 239 pred_range preds() { return {Preds.begin(), Preds.end()}; } in preds() 247 const_pred_range preds() const { return {Preds.begin(), Preds.end()}; } in preds() 296 void replacePredecessor(ExplodedNode *node) { Preds.replaceNode(node); } in replacePredecessor()
|
| /llvm-project-15.0.7/clang/test/Analysis/ |
| H A D | blocks.mm | 32 // CHECK-NEXT: Preds (1): B2 36 // CHECK-NEXT: Preds (1): B1 59 // CHECK-NEXT: Preds (1): B2 63 // CHECK-NEXT: Preds (1): B1 84 // CHECK-NEXT: Preds (1): B2 88 // CHECK-NEXT: Preds (1): B1
|
| /llvm-project-15.0.7/llvm/lib/Target/ARM/ |
| H A D | ARMInstructionSelector.cpp | 403 Preds.first = ARMCC::EQ; in getComparePreds() 407 Preds.first = ARMCC::GT; in getComparePreds() 411 Preds.first = ARMCC::GE; in getComparePreds() 415 Preds.first = ARMCC::HI; in getComparePreds() 418 Preds.first = ARMCC::MI; in getComparePreds() 422 Preds.first = ARMCC::LS; in getComparePreds() 425 Preds.first = ARMCC::VC; in getComparePreds() 428 Preds.first = ARMCC::VS; in getComparePreds() 431 Preds.first = ARMCC::PL; in getComparePreds() 435 Preds.first = ARMCC::LT; in getComparePreds() [all …]
|
| /llvm-project-15.0.7/clang/lib/StaticAnalyzer/Core/ |
| H A D | ExplodedGraph.cpp | 206 Preds.addNode(V, G); in addPredecessor() 470 if (N->Preds.empty()) { in trim() 476 WL1.append(N->Preds.begin(), N->Preds.end()); in trim() 504 if (N->Preds.empty()) in trim() 512 for (ExplodedNode::pred_iterator I = N->Preds.begin(), E = N->Preds.end(); in trim()
|
| /llvm-project-15.0.7/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()
|
| /llvm-project-15.0.7/llvm/test/TableGen/ |
| H A D | AsmPredicateCombiningRISCV.td | 25 class RVInst<int Opc, list<Predicate> Preds> : Instruction { 33 let Predicates = Preds; 35 class RVInst16<int Opc, list<Predicate> Preds> : Instruction { 43 let Predicates = Preds;
|
| /llvm-project-15.0.7/llvm/lib/Target/Hexagon/ |
| H A D | HexagonSubtarget.cpp | 267 for (auto &D : SU.Preds) in apply() 296 for (SDep &PI : SI.getSUnit()->Preds) { in apply() 611 auto F = find(Dst->Preds, T); in restoreLatency() 612 assert(F != Dst->Preds.end()); in restoreLatency() 628 auto F = find(Dst->Preds, T); in changeLatency() 629 assert(F != Dst->Preds.end()); in changeLatency() 673 SUnit *SrcBest = getZeroLatency(Dst, Dst->Preds); in isBestZeroLatency() 715 for (auto &I : DstBest->Preds) in isBestZeroLatency()
|
| /llvm-project-15.0.7/llvm/unittests/CodeGen/ |
| H A D | InstrRefLDVTest.cpp | 1812 SmallVector<const MachineBasicBlock *, 2> Preds; in TEST_F() local 1814 Preds.push_back(Pred); in TEST_F() 1940 SmallVector<const MachineBasicBlock *, 2> Preds; in TEST_F() local 1942 Preds.push_back(Pred); in TEST_F() 2045 SmallVector<const MachineBasicBlock *, 2> Preds; in TEST_F() local 2047 Preds.push_back(Pred); in TEST_F() 2178 SmallVector<const MachineBasicBlock *, 2> Preds; in TEST_F() local 2180 Preds.push_back(Pred); in TEST_F() 2333 SmallVector<const MachineBasicBlock *, 2> Preds; in TEST_F() local 2335 Preds.push_back(Pred); in TEST_F() [all …]
|
| /llvm-project-15.0.7/bolt/include/bolt/Passes/ |
| H A D | CallGraph.h | 89 const std::vector<NodeId> &predecessors() const { return Preds; } in predecessors() 98 std::vector<NodeId> Preds; variable 122 return Nodes[Id].Preds; in predecessors()
|
| /llvm-project-15.0.7/clang/lib/Analysis/FlowSensitive/ |
| H A D | TypeErasedDataflowAnalysis.cpp | 170 llvm::DenseSet<const CFGBlock *> Preds; in computeBlockInputState() local 171 Preds.insert(Block.pred_begin(), Block.pred_end()); in computeBlockInputState() 198 Preds.erase(StmtBlock->getSecond()); in computeBlockInputState() 205 for (const CFGBlock *Pred : Preds) { in computeBlockInputState()
|
| /llvm-project-15.0.7/llvm/include/llvm/CodeGen/ |
| H A D | ScheduleDAG.h | 256 SmallVector<SDep, 4> Preds; ///< All sunit predecessors. variable 432 for (const SDep &Pred : Preds) in isPred() 635 return Node->Preds[Operand].getSUnit(); 649 return SUnitIterator(N, (unsigned)N->Preds.size()); in end() 663 return Node->Preds[Operand]; in getSDep()
|