Lines Matching refs:SplitGraph

272 class SplitGraph {  class
306 SplitGraph(const Module &M, const FunctionsCostMap &CostMap, in SplitGraph() function in llvm::__anon00e757230111::SplitGraph
373 class SplitGraph::Node {
374 friend class SplitGraph;
460 void SplitGraph::Node::visitAllDependencies( in visitAllDependencies()
505 void SplitGraph::buildGraph(CallGraph &CG) { in buildGraph()
621 bool SplitGraph::verifyGraph() const { in verifyGraph()
714 CostType SplitGraph::calculateCost(const BitVector &BV) const { in calculateCost()
721 SplitGraph::Node &
722 SplitGraph::getNode(DenseMap<const GlobalValue *, Node *> &Cache, in getNode()
740 const SplitGraph::Edge &SplitGraph::createEdge(Node &Src, Node &Dst, in createEdge()
763 SplitProposal(const SplitGraph &SG, unsigned MaxPartitions) : SG(&SG) { in SplitProposal()
835 const SplitGraph *SG = nullptr;
920 RecursiveSearchSplitting(const SplitGraph &SG, unsigned NumParts,
959 const SplitGraph &SG;
971 const SplitGraph &SG, unsigned NumParts, SubmitProposalFn SubmitProposal) in RecursiveSearchSplitting()
1009 for (const SplitGraph::Node *N : SG.nodes()) { in setupWorkList()
1014 N->visitAllDependencies([&](const SplitGraph::Node &Dep) { in setupWorkList()
1026 const SplitGraph::Node &N = SG.getNode(M); in setupWorkList()
1036 const SplitGraph::Node &N = SG.getNode(NodeID); in setupWorkList()
1203 const SplitGraph::Node *mapEdgeToDst(const SplitGraph::Edge *E) { in mapEdgeToDst()
1208 mapped_iterator<SplitGraph::edges_iterator, decltype(&mapEdgeToDst)>;
1212 template <> struct GraphTraits<SplitGraph> {
1213 using NodeRef = const SplitGraph::Node *;
1214 using nodes_iterator = SplitGraph::nodes_iterator;
1217 using EdgeRef = const SplitGraph::Edge *;
1218 using ChildEdgeIteratorType = SplitGraph::edges_iterator;
1229 static nodes_iterator nodes_begin(const SplitGraph &G) { in nodes_begin()
1232 static nodes_iterator nodes_end(const SplitGraph &G) { in nodes_end()
1237 template <> struct DOTGraphTraits<SplitGraph> : public DefaultDOTGraphTraits {
1240 static std::string getGraphName(const SplitGraph &SG) { in getGraphName()
1244 std::string getNodeLabel(const SplitGraph::Node *N, const SplitGraph &SG) { in getNodeLabel()
1248 static std::string getNodeDescription(const SplitGraph::Node *N, in getNodeDescription()
1249 const SplitGraph &SG) { in getNodeDescription()
1259 static std::string getNodeAttributes(const SplitGraph::Node *N, in getNodeAttributes()
1260 const SplitGraph &SG) { in getNodeAttributes()
1264 static std::string getEdgeAttributes(const SplitGraph::Node *N, in getEdgeAttributes()
1266 const SplitGraph &SG) { in getEdgeAttributes()
1269 case SplitGraph::EdgeKind::DirectCall: in getEdgeAttributes()
1271 case SplitGraph::EdgeKind::IndirectCall: in getEdgeAttributes()
1361 static void writeDOTGraph(const SplitGraph &SG) { in writeDOTGraph()
1426 SplitGraph SG(M, FnCosts, ModuleCost); in splitAMDGPUModule()
1439 for (const SplitGraph::Node *N : SG.nodes()) { in splitAMDGPUModule()