Lines Matching defs:SG

394     for (auto &SG : SyncPipeline) {
395 SmallVector<SUnit *, 32> TempCollection = SG.Collection;
396 SG.Collection.clear();
401 SG.Collection.push_back(*SchedBarr);
451 for (auto &SG : SyncPipeline) {
452 LLVM_DEBUG(dbgs() << "SchedGroup with SGID " << SG.getSGID()
455 for (auto &SU : SG.Collection) {
464 SG.link(*SGBarr, false);
592 SchedGroup *Match = llvm::find_if(SyncPipeline, [CandSGID](SchedGroup &SG) {
593 return SG.getSGID() == CandSGID;
645 // If we are trying SGs in least cost order, and the current SG is cost
656 for (auto &SG : SyncPipeline) {
657 if (SG.getSGID() == CandSGID)
658 Match = &SG;
737 SchedGroup *Match = llvm::find_if(SyncPipeline, [CandSGID](SchedGroup &SG) {
738 return SG.getSGID() == CandSGID;
895 SchedGroup *SG = nullptr;
897 SG = &SyncedSchedGroups[PipelineSyncID].emplace_back(
899 SG->initSchedGroup(SyncedInstrs[SG->getSyncID()]);
901 SG = &SyncedSchedGroups[PipelineSyncID].emplace_back(
903 SG->initSchedGroup(SyncedInstrs[SG->getSyncID()]);
1580 SchedGroup *SG = nullptr;
1625 SG = &SyncedSchedGroups[PipelineSyncID].emplace_back(
1628 SG->addRule(std::make_shared<EnablesNthMFMAInChain>(
1629 PositionInChain, MFMAChainSeeds[MFMAChain], TII, SG->getSGID(),
1632 SG->addRule(
1633 std::make_shared<EnablesNthMFMA>(1, TII, SG->getSGID(), true));
1634 SG->addRule(std::make_shared<IsFMA>(TII, SG->getSGID()));
1635 SG->initSchedGroup(SyncedInstrs[SG->getSyncID()]);
1638 SG = &SyncedSchedGroups[PipelineSyncID].emplace_back(
1641 SG->addRule(std::make_shared<EnablesNthMFMAInChain>(
1643 MFMAChainSeeds[getNextTransMFMAChain()], TII, SG->getSGID(), true));
1645 SG->addRule(std::make_shared<EnablesNthMFMA>(MFMAEnablement + 1, TII,
1646 SG->getSGID(), true));
1647 SG->addRule(std::make_shared<IsFMA>(TII, SG->getSGID()));
1648 SG->initSchedGroup(SyncedInstrs[SG->getSyncID()]);
1652 SG = &SyncedSchedGroups[PipelineSyncID].emplace_back(
1654 SG->addRule(std::make_shared<OccursAtOrAfterNode>(*FirstPipeDSR, TII,
1655 SG->getSGID()));
1656 SG->initSchedGroup(SyncedInstrs[SG->getSyncID()]);
1660 SG = &SyncedSchedGroups[PipelineSyncID].emplace_back(
1663 SG->addRule(std::make_shared<EnablesNthMFMAInChain>(
1664 PositionInChain, MFMAChainSeeds[MFMAChain], TII, SG->getSGID(), true));
1666 SG->addRule(std::make_shared<EnablesNthMFMA>(1, TII, SG->getSGID(), true));
1667 SG->addRule(std::make_shared<IsPipeExp>(TII, SG->getSGID(), true));
1668 SG->addRule(std::make_shared<LessThanNSuccs>(8, TII, SG->getSGID(),
1670 SG->initSchedGroup(SyncedInstrs[SG->getSyncID()]);
1678 SG = &SyncedSchedGroups[PipelineSyncID].emplace_back(
1680 SG->addRule(std::make_shared<IsCvt>(TII, SG->getSGID()));
1682 SG->addRule(std::make_shared<IsReachableFromPrevNthGroup>(
1683 1 + (2 + UsesFMA) * I, TII, SG->getSGID()));
1685 SG->addRule(std::make_shared<IsSuccOfPrevNthGroup>(
1686 1 + (2 + UsesFMA) * I, TII, SG->getSGID()));
1687 SG->initSchedGroup(SyncedInstrs[SG->getSyncID()]);
1692 SG = &SyncedSchedGroups[PipelineSyncID].emplace_back(
1695 SG->addRule(std::make_shared<EnablesNthMFMAInChain>(
1697 MFMAChainSeeds[getNextTransMFMAChain()], TII, SG->getSGID(), true));
1699 SG->addRule(std::make_shared<EnablesNthMFMA>(2 * MFMAEnablement + 1,
1700 TII, SG->getSGID(), true));
1701 SG->addRule(std::make_shared<IsFMA>(TII, SG->getSGID()));
1702 SG->initSchedGroup(SyncedInstrs[SG->getSyncID()]);
1706 SG = &SyncedSchedGroups[PipelineSyncID].emplace_back(
1709 SG->addRule(std::make_shared<EnablesNthMFMAInChain>(
1710 PositionInChain, MFMAChainSeeds[MFMAChain], TII, SG->getSGID(),
1713 SG->addRule(std::make_shared<EnablesNthMFMA>(MFMAEnablement + 1, TII,
1714 SG->getSGID(), true));
1715 SG->addRule(std::make_shared<IsPipeExp>(TII, SG->getSGID(), true));
1716 SG->addRule(std::make_shared<LessThanNSuccs>(8, TII, SG->getSGID(),
1718 SG->initSchedGroup(SyncedInstrs[SG->getSyncID()]);
1723 SG = &SyncedSchedGroups[PipelineSyncID].emplace_back(
1725 SG->addRule(std::make_shared<IsPipeExp>(TII, SG->getSGID(), true));
1726 SG->addRule(std::make_shared<GreaterThanOrEqualToNSuccs>(
1727 8, TII, SG->getSGID(), HasChainBetweenCvt));
1728 SG->initSchedGroup(SyncedInstrs[SG->getSyncID()]);
1757 SG = &SyncedSchedGroups[PipelineSyncID].emplace_back(
1760 SG->addRule(std::make_shared<IsExactMFMA>(
1762 SG->getSGID(), true));
1764 SG->addRule(std::make_shared<OccursAfterExp>(TII, SG->getSGID(), true));
1765 SG->initSchedGroup(SyncedInstrs[SG->getSyncID()]);
1769 SG = &SyncedSchedGroups[PipelineSyncID].emplace_back(
1771 SG->addRule(std::make_shared<IsPipeAdd>(TII, SG->getSGID()));
1772 SG->initSchedGroup(SyncedInstrs[SG->getSyncID()]);
1776 SG = &SyncedSchedGroups[PipelineSyncID].emplace_back(
1778 SG->addRule(std::make_shared<OccursAtOrAfterNode>(*FirstPipeDSR, TII,
1779 SG->getSGID()));
1780 SG->initSchedGroup(SyncedInstrs[SG->getSyncID()]);
1791 SG = &SyncedSchedGroups[PipelineSyncID].emplace_back(
1793 SG->addRule(std::make_shared<IsCvt>(TII, SG->getSGID()));
1803 SG->addRule(std::make_shared<IsReachableFromPrevNthGroup>(
1804 CurrentOffset, TII, SG->getSGID()));
1806 SG->addRule(std::make_shared<IsSuccOfPrevNthGroup>(CurrentOffset, TII,
1807 SG->getSGID()));
1808 SG->initSchedGroup(SyncedInstrs[SG->getSyncID()]);
1813 SG = &SyncedSchedGroups[PipelineSyncID].emplace_back(
1816 SG->addRule(std::make_shared<EnablesNthMFMAInChain>(
1818 MFMAChainSeeds[getNextTransMFMAChain()], TII, SG->getSGID(),
1821 SG->addRule(std::make_shared<EnablesNthMFMA>(
1823 TII, SG->getSGID(), true));
1824 SG->addRule(std::make_shared<IsFMA>(TII, SG->getSGID()));
1825 SG->initSchedGroup(SyncedInstrs[SG->getSyncID()]);
1829 SG = &SyncedSchedGroups[PipelineSyncID].emplace_back(
1832 SG->addRule(std::make_shared<EnablesNthMFMAInChain>(
1833 PositionInChain, MFMAChainSeeds[MFMAChain], TII, SG->getSGID(),
1836 SG->addRule(std::make_shared<EnablesNthMFMA>(
1838 TII, SG->getSGID(), true));
1839 SG->addRule(std::make_shared<IsPipeExp>(TII, SG->getSGID(), true));
1840 SG->addRule(std::make_shared<LessThanNSuccs>(8, TII, SG->getSGID(),
1842 SG->initSchedGroup(SyncedInstrs[SG->getSyncID()]);
1847 SG = &SyncedSchedGroups[PipelineSyncID].emplace_back(
1849 SG->addRule(std::make_shared<OccursAfterExp>(TII, SG->getSGID(), true));
1850 SG->initSchedGroup(SyncedInstrs[SG->getSyncID()]);
2157 SchedGroup *SG;
2162 SG = &SyncedSchedGroups[PipelineSyncID].emplace_back(
2164 SG->initSchedGroup(SyncedInstrs[SG->getSyncID()]);
2166 SG = &SyncedSchedGroups[PipelineSyncID].emplace_back(
2168 SG->initSchedGroup(SyncedInstrs[SG->getSyncID()]);
2178 SG = &SyncedSchedGroups[PipelineSyncID].emplace_back(
2180 SG->addRule(std::make_shared<EnablesInitialMFMA>(TII, SG->getSGID(), true));
2181 SG->initSchedGroup(SyncedInstrs[SG->getSyncID()]);
2183 SG = &SyncedSchedGroups[PipelineSyncID].emplace_back(
2185 SG->initSchedGroup(SyncedInstrs[SG->getSyncID()]);
2189 SG = &SyncedSchedGroups[PipelineSyncID].emplace_back(
2191 SG->initSchedGroup(SyncedInstrs[SG->getSyncID()]);
2193 SG = &SyncedSchedGroups[PipelineSyncID].emplace_back(
2195 SG->initSchedGroup(SyncedInstrs[SG->getSyncID()]);
2202 SG = &SyncedSchedGroups[PipelineSyncID].emplace_back(
2204 SG->addRule(std::make_shared<IsPermForDSW>(TII, SG->getSGID(), true));
2205 SG->initSchedGroup(SyncedInstrs[SG->getSyncID()]);
2207 SG = &SyncedSchedGroups[PipelineSyncID].emplace_back(
2209 SG->addRule(std::make_shared<IsSuccOfPrevGroup>(TII, SG->getSGID()));
2210 SG->initSchedGroup(SyncedInstrs[SG->getSyncID()]);
2212 SG = &SyncedSchedGroups[PipelineSyncID].emplace_back(
2214 SG->addRule(std::make_shared<SharesPredWithPrevNthGroup>(
2215 1, TII, SG->getSGID(), true));
2216 SG->addRule(std::make_shared<VMEMSize>(TII, SG->getSGID()));
2217 SG->initSchedGroup(SyncedInstrs[SG->getSyncID()]);
2219 SG = &SyncedSchedGroups[PipelineSyncID].emplace_back(
2221 SG->initSchedGroup(SyncedInstrs[SG->getSyncID()]);
2223 SG = &SyncedSchedGroups[PipelineSyncID].emplace_back(
2225 SG->addRule(std::make_shared<SharesPredWithPrevNthGroup>(
2226 3, TII, SG->getSGID(), true));
2227 SG->addRule(std::make_shared<VMEMSize>(TII, SG->getSGID()));
2228 SG->initSchedGroup(SyncedInstrs[SG->getSyncID()]);
2230 SG = &SyncedSchedGroups[PipelineSyncID].emplace_back(
2232 SG->initSchedGroup(SyncedInstrs[SG->getSyncID()]);
2239 SG = &SyncedSchedGroups[PipelineSyncID].emplace_back(
2241 SG->initSchedGroup(SyncedInstrs[SG->getSyncID()]);
2243 SG = &SyncedSchedGroups[PipelineSyncID].emplace_back(
2245 SG->addRule(std::make_shared<VMEMSize>(TII, SG->getSGID()));
2246 SG->initSchedGroup(SyncedInstrs[SG->getSyncID()]);
2248 SG = &SyncedSchedGroups[PipelineSyncID].emplace_back(
2250 SG->initSchedGroup(SyncedInstrs[SG->getSyncID()]);
2259 SG = &SyncedSchedGroups[PipelineSyncID].emplace_back(
2261 SG->addRule(std::make_shared<IsPermForDSW>(TII, SG->getSGID(), true));
2262 SG->initSchedGroup(SyncedInstrs[SG->getSyncID()]);
2264 SG = &SyncedSchedGroups[PipelineSyncID].emplace_back(
2266 SG->addRule(std::make_shared<IsSuccOfPrevGroup>(TII, SG->getSGID()));
2267 SG->initSchedGroup(SyncedInstrs[SG->getSyncID()]);
2269 SG = &SyncedSchedGroups[PipelineSyncID].emplace_back(
2271 SG->initSchedGroup(SyncedInstrs[SG->getSyncID()]);
2273 SG = &SyncedSchedGroups[PipelineSyncID].emplace_back(
2275 SG->addRule(std::make_shared<IsPermForDSW>(TII, SG->getSGID(), true));
2276 SG->initSchedGroup(SyncedInstrs[SG->getSyncID()]);
2278 SG = &SyncedSchedGroups[PipelineSyncID].emplace_back(
2280 SG->addRule(std::make_shared<IsSuccOfPrevGroup>(TII, SG->getSGID()));
2281 SG->initSchedGroup(SyncedInstrs[SG->getSyncID()]);
2283 SG = &SyncedSchedGroups[PipelineSyncID].emplace_back(
2285 SG->initSchedGroup(SyncedInstrs[SG->getSyncID()]);
2287 SG = &SyncedSchedGroups[PipelineSyncID].emplace_back(
2289 SG->addRule(std::make_shared<SharesPredWithPrevNthGroup>(
2290 2, TII, SG->getSGID(), true));
2291 SG->addRule(std::make_shared<VMEMSize>(TII, SG->getSGID()));
2292 SG->initSchedGroup(SyncedInstrs[SG->getSyncID()]);
2294 SG = &SyncedSchedGroups[PipelineSyncID].emplace_back(
2296 SG->initSchedGroup(SyncedInstrs[SG->getSyncID()]);
2298 SG = &SyncedSchedGroups[PipelineSyncID].emplace_back(
2300 SG->addRule(std::make_shared<SharesPredWithPrevNthGroup>(
2301 4, TII, SG->getSGID(), true));
2302 SG->addRule(std::make_shared<VMEMSize>(TII, SG->getSGID()));
2303 SG->initSchedGroup(SyncedInstrs[SG->getSyncID()]);
2305 SG = &SyncedSchedGroups[PipelineSyncID].emplace_back(
2307 SG->initSchedGroup(SyncedInstrs[SG->getSyncID()]);
2606 SchedGroup SG(InvertedMask, std::nullopt, DAG, TII);
2607 SG.initSchedGroup();
2610 SG.link(
2666 auto &SG = SyncedSchedGroups[SyncID].emplace_back((SchedGroupMask)SGMask,
2669 SG.initSchedGroup(RIter, SyncedInstrs[SG.getSyncID()]);