Lines Matching defs:NId

199     for (auto NId : G.nodeIds()) {
201 LIS.getInterval(G.getNodeMetadata(NId).getVReg()).weight();
206 PBQPRAGraph::RawVector NodeCosts(G.getNodeCosts(NId));
208 G.setNodeCosts(NId, std::move(NodeCosts));
223 bool haveDisjointAllowedRegs(const PBQPRAGraph &G, PBQPRAGraph::NodeId NId,
226 const auto *NRegs = &G.getNodeMetadata(NId).getAllowedRegs();
238 void setDisjointAllowedRegs(const PBQPRAGraph &G, PBQPRAGraph::NodeId NId,
241 const auto *NRegs = &G.getNodeMetadata(NId).getAllowedRegs();
332 for (auto NId : G.nodeIds()) {
333 Register VReg = G.getNodeMetadata(NId).getVReg();
336 Inactive.push(std::make_tuple(&LI, 0, NId));
364 PBQP::GraphBase::NodeId NId = getNodeId(Cur);
370 if (haveDisjointAllowedRegs(G, NId, MId, D))
374 IEdgeKey EK(std::min(NId, MId), std::max(NId, MId));
379 if (!createInterferenceEdge(G, NId, MId, C))
380 setDisjointAllowedRegs(G, NId, MId, D);
397 PBQPRAGraph::NodeId NId, PBQPRAGraph::NodeId MId,
401 const auto &NRegs = G.getNodeMetadata(NId).getAllowedRegs();
408 G.addEdgeBypassingCostAllocator(NId, MId, I->second);
428 PBQPRAGraph::EdgeId EId = G.addEdge(NId, MId, std::move(M));
459 PBQPRAGraph::NodeId NId = G.getMetadata().getNodeIdForVReg(SrcReg);
462 G.getNodeMetadata(NId).getAllowedRegs();
469 PBQPRAGraph::RawVector NewCosts(G.getNodeCosts(NId));
471 G.setNodeCosts(NId, std::move(NewCosts));
682 PBQPRAGraph::NodeId NId = G.addNode(std::move(NodeCosts));
683 G.getNodeMetadata(NId).setVReg(VReg);
684 G.getNodeMetadata(NId).setAllowedRegs(
686 G.getMetadata().setNodeIdForVReg(VReg, NId);
733 for (auto NId : G.nodeIds()) {
734 Register VReg = G.getNodeMetadata(NId).getVReg();
735 unsigned AllocOpt = Solution.getSelection(NId);
738 MCRegister PReg = G.getNodeMetadata(NId).getAllowedRegs()[AllocOpt - 1];
889 static Printable PrintNodeInfo(PBQP::RegAlloc::PBQPRAGraph::NodeId NId,
891 return Printable([NId, &G](raw_ostream &OS) {
894 Register VReg = G.getNodeMetadata(NId).getVReg();
896 OS << NId << " (" << RegClassName << ':' << printReg(VReg, TRI) << ')';
902 for (auto NId : nodeIds()) {
903 const Vector &Costs = getNodeCosts(NId);
905 OS << PrintNodeInfo(NId, *this) << ": " << Costs << '\n';
929 for (auto NId : nodeIds()) {
930 OS << " node" << NId << " [ label=\""
931 << PrintNodeInfo(NId, *this) << "\\n"
932 << getNodeCosts(NId) << "\" ]\n";