Lines Matching defs:NId
198 for (auto NId : G.nodeIds()) {
200 LIS.getInterval(G.getNodeMetadata(NId).getVReg()).weight();
205 PBQPRAGraph::RawVector NodeCosts(G.getNodeCosts(NId));
207 G.setNodeCosts(NId, std::move(NodeCosts));
222 bool haveDisjointAllowedRegs(const PBQPRAGraph &G, PBQPRAGraph::NodeId NId,
225 const auto *NRegs = &G.getNodeMetadata(NId).getAllowedRegs();
237 void setDisjointAllowedRegs(const PBQPRAGraph &G, PBQPRAGraph::NodeId NId,
240 const auto *NRegs = &G.getNodeMetadata(NId).getAllowedRegs();
331 for (auto NId : G.nodeIds()) {
332 Register VReg = G.getNodeMetadata(NId).getVReg();
335 Inactive.push(std::make_tuple(&LI, 0, NId));
363 PBQP::GraphBase::NodeId NId = getNodeId(Cur);
369 if (haveDisjointAllowedRegs(G, NId, MId, D))
373 IEdgeKey EK(std::min(NId, MId), std::max(NId, MId));
378 if (!createInterferenceEdge(G, NId, MId, C))
379 setDisjointAllowedRegs(G, NId, MId, D);
396 PBQPRAGraph::NodeId NId, PBQPRAGraph::NodeId MId,
400 const auto &NRegs = G.getNodeMetadata(NId).getAllowedRegs();
407 G.addEdgeBypassingCostAllocator(NId, MId, I->second);
427 PBQPRAGraph::EdgeId EId = G.addEdge(NId, MId, std::move(M));
458 PBQPRAGraph::NodeId NId = G.getMetadata().getNodeIdForVReg(SrcReg);
461 G.getNodeMetadata(NId).getAllowedRegs();
468 PBQPRAGraph::RawVector NewCosts(G.getNodeCosts(NId));
470 G.setNodeCosts(NId, std::move(NewCosts));
681 PBQPRAGraph::NodeId NId = G.addNode(std::move(NodeCosts));
682 G.getNodeMetadata(NId).setVReg(VReg);
683 G.getNodeMetadata(NId).setAllowedRegs(
685 G.getMetadata().setNodeIdForVReg(VReg, NId);
732 for (auto NId : G.nodeIds()) {
733 Register VReg = G.getNodeMetadata(NId).getVReg();
734 unsigned AllocOpt = Solution.getSelection(NId);
737 MCRegister PReg = G.getNodeMetadata(NId).getAllowedRegs()[AllocOpt - 1];
891 static Printable PrintNodeInfo(PBQP::RegAlloc::PBQPRAGraph::NodeId NId,
893 return Printable([NId, &G](raw_ostream &OS) {
896 Register VReg = G.getNodeMetadata(NId).getVReg();
898 OS << NId << " (" << RegClassName << ':' << printReg(VReg, TRI) << ')';
904 for (auto NId : nodeIds()) {
905 const Vector &Costs = getNodeCosts(NId);
907 OS << PrintNodeInfo(NId, *this) << ": " << Costs << '\n';
931 for (auto NId : nodeIds()) {
932 OS << " node" << NId << " [ label=\""
933 << PrintNodeInfo(NId, *this) << "\\n"
934 << getNodeCosts(NId) << "\" ]\n";