Lines Matching full:nodes
69 /// value can change when linked nodes change, but convergence is very fast
94 // Undecided nodes (Value==0) go on the stack.
148 bool update(const Node nodes[], const BlockFrequency &Threshold) {
153 if (nodes[I->second].Value == -1)
155 else if (nodes[I->second].Value == 1)
183 assert(!nodes && "Leaking node array");
184 nodes = new Node[bundles->getNumBundles()];
200 delete[] nodes;
201 nodes = nullptr;
209 nodes[n].clear(Threshold);
221 nodes[n].BiasP = 0;
222 nodes[n].BiasN = (MBFI->getEntryFreq() / 16);
250 nodes[ib].addBias(Freq, I->Entry);
257 nodes[ob].addBias(Freq, I->Exit);
273 nodes[ib].addBias(Freq, PrefSpill);
274 nodes[ob].addBias(Freq, PrefSpill);
290 if (nodes[ib].Links.empty() && !nodes[ib].mustSpill())
292 if (nodes[ob].Links.empty() && !nodes[ob].mustSpill())
295 nodes[ib].addLink(ob, Freq);
296 nodes[ob].addLink(ib, Freq);
304 nodes[n].update(nodes, Threshold);
307 if (nodes[n].mustSpill())
309 if (!nodes[n].Links.empty())
311 if (nodes[n].preferReg())
317 /// iterate - Repeatedly update the Hopfield nodes until stability or the
319 /// @param Linked - Numbers of linked nodes that need updating.
321 // First update the recently positive nodes. They have likely received new
324 nodes[RecentPositive.pop_back_val()].update(nodes, Threshold);
331 // linked nodes with sequential numbers. By scanning the linked nodes
343 if (nodes[n].update(nodes, Threshold)) {
345 if (nodes[n].preferReg())
357 if (nodes[n].update(nodes, Threshold)) {
359 if (nodes[n].preferReg())
384 if (!nodes[n].preferReg()) {