| /openbsd-src/gnu/llvm/llvm/tools/llvm-mca/Views/ |
| H A D | BottleneckAnalysis.cpp | 151 const DependencyEdge::Dependency &DE = DepEdge.Dep; in dumpDependencyEdge() 241 uint64_t Cost = N.Cost + DepEdge.Dep.Cost; in propagateThroughEdges() 359 const DependencyEdge::Dependency &Dep = DE->Dep; in printCriticalSequence() local 363 if (Dep.Type == DependencyEdge::DT_REGISTER) { in printCriticalSequence() 367 getInstPrinter().printRegName(FOS, Dep.ResourceOrRegID); in printCriticalSequence() 368 } else if (Dep.Type == DependencyEdge::DT_MEMORY) { in printCriticalSequence() 371 assert(Dep.Type == DependencyEdge::DT_RESOURCE && in printCriticalSequence() 376 FOS << Tracker.resolveResourceName(Dep.ResourceOrRegID); in printCriticalSequence() 404 if (DE.Dep.Type == DependencyEdge::DT_REGISTER) in dump() 410 if (DE.Dep.Type == DependencyEdge::DT_MEMORY) in dump() [all …]
|
| /openbsd-src/gnu/llvm/llvm/lib/CodeGen/ |
| H A D | MacroFusion.cpp | 34 static bool isHazard(const SDep &Dep) { in isHazard() argument 35 return Dep.getKind() == SDep::Anti || Dep.getKind() == SDep::Output; in isHazard() 177 for (SDep &Dep : AnchorSU.Preds) { in scheduleAdjacentImpl() 179 if (Dep.isWeak() || isHazard(Dep)) in scheduleAdjacentImpl() 182 SUnit &DepSU = *Dep.getSUnit(); in scheduleAdjacentImpl()
|
| H A D | MachinePipeliner.cpp | 806 SDep Dep(Load, SDep::Barrier); in addLoopCarriedDependences() local 807 Dep.setLatency(1); in addLoopCarriedDependences() 808 SU.addPred(Dep); in addLoopCarriedDependences() 816 SDep Dep(Load, SDep::Barrier); in addLoopCarriedDependences() local 817 Dep.setLatency(1); in addLoopCarriedDependences() 818 SU.addPred(Dep); in addLoopCarriedDependences() 824 SDep Dep(Load, SDep::Barrier); in addLoopCarriedDependences() local 825 Dep.setLatency(1); in addLoopCarriedDependences() 826 SU.addPred(Dep); in addLoopCarriedDependences() 831 SDep Dep(Load, SDep::Barrier); in addLoopCarriedDependences() local [all …]
|
| H A D | ScheduleDAGInstrs.cpp | 258 SDep Dep; in addPhysRegDataDeps() local 260 Dep = SDep(SU, SDep::Artificial); in addPhysRegDataDeps() 265 Dep = SDep(SU, SDep::Data, *Alias); in addPhysRegDataDeps() 274 Dep.setLatency(SchedModel.computeOperandLatency(SU->getInstr(), OperIdx, in addPhysRegDataDeps() 277 Dep.setLatency(0); in addPhysRegDataDeps() 279 ST.adjustSchedDependency(SU, OperIdx, UseSU, UseOp, Dep); in addPhysRegDataDeps() 280 UseSU->addPred(Dep); in addPhysRegDataDeps() 315 SDep Dep(SU, Kind, /*Reg=*/*Alias); in addPhysRegDeps() local 317 Dep.setLatency( in addPhysRegDeps() 319 ST.adjustSchedDependency(SU, OperIdx, DefSU, I->OpIdx, Dep); in addPhysRegDeps() [all …]
|
| H A D | MachineTraceMetrics.cpp | 792 for (const DataDep &Dep : Deps) { in updateDepth() local 794 BlockInfo[Dep.DefMI->getParent()->getNumber()]; in updateDepth() 799 unsigned DepCycle = Cycles.lookup(Dep.DefMI).Depth; in updateDepth() 801 if (!Dep.DefMI->isTransient()) in updateDepth() 803 .computeOperandLatency(Dep.DefMI, Dep.DefOp, &UseMI, Dep.UseOp); in updateDepth() 952 static bool pushDepHeight(const DataDep &Dep, const MachineInstr &UseMI, in pushDepHeight() argument 957 if (!Dep.DefMI->isTransient()) in pushDepHeight() 958 UseHeight += SchedModel.computeOperandLatency(Dep.DefMI, Dep.DefOp, &UseMI, in pushDepHeight() 959 Dep.UseOp); in pushDepHeight() 964 std::tie(I, New) = Heights.insert(std::make_pair(Dep.DefMI, UseHeight)); in pushDepHeight() [all …]
|
| H A D | ScheduleDAG.cpp | 368 for (const SDep &Dep : SU.Preds) { in dumpNodeAll() local 370 dumpNodeName(*Dep.getSUnit()); in dumpNodeAll() 372 Dep.dump(TRI); in dumpNodeAll() 378 for (const SDep &Dep : SU.Succs) { in dumpNodeAll() local 380 dumpNodeName(*Dep.getSUnit()); in dumpNodeAll() 382 Dep.dump(TRI); in dumpNodeAll()
|
| H A D | ImplicitNullChecks.cpp | 256 std::optional<ArrayRef<MachineInstr *>::iterator> Dep; in computeDependence() local 262 if (Dep == std::nullopt) { in computeDependence() 264 Dep = I; in computeDependence() 271 return {true, Dep}; in computeDependence()
|
| /openbsd-src/gnu/llvm/llvm/include/llvm/CodeGen/ |
| H A D | ScheduleDAG.h | 80 PointerIntPair<SUnit *, 2, Kind> Dep; 101 SDep() : Dep(nullptr, Data) {} in SDep() 105 : Dep(S, kind), Contents() { in SDep() 124 : Dep(S, Order), Contents(), Latency(0) { in SDep() 385 SDep Dep(SU, SDep::Barrier); in addPredBarrier() 388 Dep.setLatency(TrueMemOrderLatency); in addPredBarrier() 389 return addPred(Dep); in addPredBarrier() 466 if (Dep != Other.Dep) in overlaps() 468 switch (Dep.getInt()) { in overlaps() 480 inline SUnit *SDep::getSUnit() const { return Dep.getPointer(); } in getSUnit() [all …]
|
| H A D | MachinePipeliner.h | 251 bool isBackedge(SUnit *Source, const SDep &Dep) { in isBackedge() argument 252 if (Dep.getKind() != SDep::Anti) in isBackedge() 254 return Source->getInstr()->isPHI() || Dep.getSUnit()->getInstr()->isPHI(); in isBackedge() 257 bool isLoopCarriedDep(SUnit *Source, const SDep &Dep, bool isSucc = true); 261 unsigned getDistance(SUnit *U, SUnit *V, const SDep &Dep) { in getDistance() argument 264 if (V->getInstr()->isPHI() && Dep.getKind() == SDep::Anti) in getDistance() 590 int earliestCycleInChain(const SDep &Dep); 594 int latestCycleInChain(const SDep &Dep);
|
| /openbsd-src/gnu/llvm/llvm/utils/TableGen/GlobalISel/ |
| H A D | GIMatchTree.cpp | 98 for (auto &Dep : enumerate(MatchDag.predicate_edges())) { in GIMatchTreeBuilderLeafInfo() local 99 PredicateDepIDs.insert(std::make_pair(Dep.value(), Dep.index())); in GIMatchTreeBuilderLeafInfo() 103 for (auto &Dep : enumerate(MatchDag.predicate_edges())) { in GIMatchTreeBuilderLeafInfo() local 104 unsigned ID = PredicateIDs.lookup(Dep.value()->getPredicate()); in GIMatchTreeBuilderLeafInfo() 105 UnsatisfiedPredDepsForPred[ID].set(Dep.index()); in GIMatchTreeBuilderLeafInfo() 137 for (auto &Dep : enumerate(MatchDag.predicate_edges())) { in declareInstr() local 138 if (Dep.value()->getRequiredMI() == Instr && in declareInstr() 139 Dep.value()->getRequiredMO() == nullptr) { in declareInstr() 141 DepsFor.value().reset(Dep.index()); in declareInstr() 171 for (auto &Dep : enumerate(MatchDag.predicate_edges())) { in declareOperand() local [all …]
|
| /openbsd-src/gnu/llvm/llvm/lib/Analysis/ |
| H A D | MemoryDependenceAnalysis.cpp | 800 MemDepResult Dep; in getNonLocalCallDependency() local 803 Dep = getCallDependencyFrom(QueryCall, isReadonlyCall, ScanPos, DirtyBB); in getNonLocalCallDependency() 807 Dep = MemDepResult::getNonLocal(); in getNonLocalCallDependency() 809 Dep = MemDepResult::getNonFuncLocal(); in getNonLocalCallDependency() 815 ExistingResult->setResult(Dep); in getNonLocalCallDependency() 817 Cache.push_back(NonLocalDepEntry(DirtyBB, Dep)); in getNonLocalCallDependency() 821 if (!Dep.isNonLocal()) { in getNonLocalCallDependency() 824 if (Instruction *Inst = Dep.getInst()) in getNonLocalCallDependency() 953 MemDepResult Dep = getPointerDependencyFrom(Loc, isLoad, ScanPos, BB, in getNonLocalInfoForBlock() local 958 return Dep; in getNonLocalInfoForBlock() [all …]
|
| H A D | MemDepPrinter.cpp | 38 typedef std::pair<InstTypePair, const BasicBlock *> Dep; typedef 39 typedef SmallSetVector<Dep, 4> DepSet;
|
| /openbsd-src/gnu/llvm/llvm/lib/Support/ |
| H A D | DAGDeltaAlgorithm.cpp | 186 for (const edge_ty &Dep : Dependencies) { in DAGDeltaAlgorithmImpl() local 187 Predecessors[Dep.second].push_back(Dep.first); in DAGDeltaAlgorithmImpl() 188 Successors[Dep.first].push_back(Dep.second); in DAGDeltaAlgorithmImpl()
|
| /openbsd-src/gnu/llvm/llvm/lib/Target/AMDGPU/ |
| H A D | AMDGPUSubtarget.cpp | 819 int UseOpIdx, SDep &Dep) const { in adjustSchedDependency() 820 if (Dep.getKind() != SDep::Kind::Data || !Dep.getReg() || in adjustSchedDependency() 829 auto Reg = Dep.getReg(); in adjustSchedDependency() 839 Dep.setLatency(Lat); in adjustSchedDependency() 842 auto Reg = Dep.getReg(); in adjustSchedDependency() 851 Dep.setLatency(Lat); in adjustSchedDependency() 852 } else if (Dep.getLatency() == 0 && Dep.getReg() == AMDGPU::VCC_LO) { in adjustSchedDependency() 857 Dep.setLatency(InstrInfo.getSchedModel().computeOperandLatency( in adjustSchedDependency()
|
| H A D | R600Packetizer.cpp | 190 const SDep &Dep = SUJ->Succs[i]; in isLegalToPacketizeTogether() local 191 if (Dep.getSUnit() != SUI) in isLegalToPacketizeTogether() 193 if (Dep.getKind() == SDep::Anti) in isLegalToPacketizeTogether() 195 if (Dep.getKind() == SDep::Output) in isLegalToPacketizeTogether()
|
| /openbsd-src/gnu/llvm/clang/lib/Basic/ |
| H A D | OpenCLOptions.cpp | 129 auto Dep = FeaturePair.second; in diagnoseUnsupportedFeatureDependencies() local 131 !TI.hasFeatureEnabled(OpenCLFeaturesMap, Dep)) { in diagnoseUnsupportedFeatureDependencies() 133 Diags.Report(diag::err_opencl_feature_requires) << Feature << Dep; in diagnoseUnsupportedFeatureDependencies()
|
| /openbsd-src/gnu/llvm/llvm/lib/Target/Hexagon/ |
| H A D | HexagonSubtarget.cpp | 441 SDep &Dep) const { in adjustSchedDependency() 454 Dep.setLatency(0); in adjustSchedDependency() 461 Dep.setLatency(0); in adjustSchedDependency() 499 Dep.setLatency((unsigned)DLatency); in adjustSchedDependency() 507 Dep.setLatency(0); in adjustSchedDependency() 510 int Latency = Dep.getLatency(); in adjustSchedDependency() 511 bool IsArtificial = Dep.isArtificial(); in adjustSchedDependency() 513 Dep.setLatency(Latency); in adjustSchedDependency()
|
| H A D | HexagonVLIWPacketizer.cpp | 936 auto &Dep = PacketSU->Succs[i]; in restrictingDepExistInPacket() local 937 if (Dep.getSUnit() == PacketSUDep && Dep.getKind() == SDep::Anti && in restrictingDepExistInPacket() 938 Dep.getReg() == DepReg) in restrictingDepExistInPacket() 1000 auto Dep = PacketSU->Succs[i]; in arePredicatesComplements() local 1005 if (Dep.getSUnit() == SU && Dep.getKind() == SDep::Data && in arePredicatesComplements() 1006 Hexagon::PredRegsRegClass.contains(Dep.getReg())) { in arePredicatesComplements() 1012 if (restrictingDepExistInPacket(*I, Dep.getReg())) in arePredicatesComplements()
|
| /openbsd-src/gnu/llvm/llvm/lib/Transforms/Scalar/ |
| H A D | LoopLoadElimination.cpp | 188 for (const auto &Dep : *Deps) { in findStoreToLoadDependences() 189 Instruction *Source = Dep.getSource(LAI); in findStoreToLoadDependences() 190 Instruction *Destination = Dep.getDestination(LAI); in findStoreToLoadDependences() 192 if (Dep.Type == MemoryDepChecker::Dependence::Unknown) { in findStoreToLoadDependences() 200 if (Dep.isBackward()) in findStoreToLoadDependences() 206 assert(Dep.isForward() && "Needs to be a forward dependence"); in findStoreToLoadDependences()
|
| H A D | LoopDistribute.cpp | 635 for (const auto &Dep : Dependences) in MemoryInstructionDependences() local 636 if (Dep.isPossiblyBackward()) { in MemoryInstructionDependences() 640 ++Accesses[Dep.Source].NumUnsafeDependencesStartOrEnd; in MemoryInstructionDependences() 641 --Accesses[Dep.Destination].NumUnsafeDependencesStartOrEnd; in MemoryInstructionDependences() 643 LLVM_DEBUG(Dep.print(dbgs(), 2, Instructions)); in MemoryInstructionDependences()
|
| /openbsd-src/gnu/llvm/llvm/lib/TableGen/ |
| H A D | Main.cpp | 80 for (const auto &Dep : Parser.getDependencies()) { in createDependencyFile() local 81 DepOut.os() << ' ' << Dep; in createDependencyFile()
|
| /openbsd-src/gnu/llvm/llvm/lib/CodeGen/SelectionDAG/ |
| H A D | ScheduleDAGSDNodes.cpp | 510 SDep Dep = isChain ? SDep(OpSU, SDep::Barrier) in AddSchedEdges() local 512 Dep.setLatency(OpLatency); in AddSchedEdges() 514 computeOperandLatency(OpN, N, i, Dep); in AddSchedEdges() 515 ST.adjustSchedDependency(OpSU, DefIdx, &SU, i, Dep); in AddSchedEdges() 518 if (!SU.addPred(Dep) && !Dep.isCtrl() && OpSU->NumRegDefsLeft > 1) { in AddSchedEdges()
|
| /openbsd-src/gnu/llvm/clang/lib/Tooling/DependencyScanning/ |
| H A D | DependencyScanningTool.cpp | 83 for (const auto &Dep : Dependencies) in printDependencies() local 84 addDependency(Dep); in printDependencies()
|
| /openbsd-src/gnu/llvm/llvm/include/llvm/Analysis/ |
| H A D | VectorUtils.h | 979 for (auto Dep : *Deps) in collectDependences() 980 Dependences[Dep.getSource(*LAI)].insert(Dep.getDestination(*LAI)); in collectDependences()
|
| /openbsd-src/gnu/llvm/clang/lib/Driver/ |
| H A D | XRayArgs.cpp | 260 for (const auto &Dep : ExtraDeps) { in addArgs() local 262 ExtraDepOpt += Dep; in addArgs()
|