Lines Matching refs:nodes
90 /// value can change when linked nodes change, but convergence is very fast
115 // Undecided nodes (Value==0) go on the stack.
169 bool update(const Node nodes[]) {
174 if (nodes[I->second].Value == -1)
176 else if (nodes[I->second].Value == 1)
204 assert(!nodes && "Leaking node array");
205 nodes = new Node[bundles->getNumBundles()];
221 delete[] nodes;
222 nodes = nullptr;
230 nodes[n].clear();
242 nodes[n].BiasP = 0;
243 nodes[n].BiasN = (MBFI->getEntryFreq() / 16);
259 nodes[ib].addBias(Freq, I->Entry);
266 nodes[ob].addBias(Freq, I->Exit);
282 nodes[ib].addBias(Freq, PrefSpill);
283 nodes[ob].addBias(Freq, PrefSpill);
299 if (nodes[ib].Links.empty() && !nodes[ib].mustSpill())
301 if (nodes[ob].Links.empty() && !nodes[ob].mustSpill())
304 nodes[ib].addLink(ob, Freq);
305 nodes[ob].addLink(ib, Freq);
313 nodes[n].update(nodes);
316 if (nodes[n].mustSpill())
318 if (!nodes[n].Links.empty())
320 if (nodes[n].preferReg())
326 /// iterate - Repeatedly update the Hopfield nodes until stability or the
328 /// @param Linked - Numbers of linked nodes that need updating.
330 // First update the recently positive nodes. They have likely received new
333 nodes[RecentPositive.pop_back_val()].update(nodes);
340 // linked nodes with sequential numbers. By scanning the linked nodes
352 if (nodes[n].update(nodes)) {
354 if (nodes[n].preferReg())
366 if (nodes[n].update(nodes)) {
368 if (nodes[n].preferReg())
393 if (!nodes[n].preferReg()) {