Lines Matching full:nodes
70 /// value can change when linked nodes change, but convergence is very fast
95 // Undecided nodes (Value==0) go on the stack. in preferReg()
151 bool update(const Node nodes[], BlockFrequency Threshold) { in update()
156 if (nodes[L.second].Value == -1) in update()
158 else if (nodes[L.second].Value == 1) in update()
181 const Node nodes[]) const { in getDissentingNeighbors()
186 if (Value != nodes[n].Value) in getDissentingNeighbors()
196 assert(!nodes && "Leaking node array"); in runOnMachineFunction()
197 nodes = new Node[bundles->getNumBundles()]; in runOnMachineFunction()
215 delete[] nodes; in releaseMemory()
216 nodes = nullptr; in releaseMemory()
226 nodes[n].clear(Threshold); in activate()
238 nodes[n].BiasP = BlockFrequency(0); in activate()
241 nodes[n].BiasN = BiasN; in activate()
268 nodes[ib].addBias(Freq, LB.Entry); in addConstraints()
275 nodes[ob].addBias(Freq, LB.Exit); in addConstraints()
290 nodes[ib].addBias(Freq, PrefSpill); in addPrefSpill()
291 nodes[ob].addBias(Freq, PrefSpill); in addPrefSpill()
306 nodes[ib].addLink(ob, Freq); in addLinks()
307 nodes[ob].addLink(ib, Freq); in addLinks()
317 if (nodes[n].mustSpill()) in scanActiveBundles()
319 if (nodes[n].preferReg()) in scanActiveBundles()
326 if (!nodes[n].update(nodes, Threshold)) in update()
328 nodes[n].getDissentingNeighbors(TodoList, nodes); in update()
332 /// iterate - Repeatedly update the Hopfield nodes until stability or the
342 // The call to ::update will add the nodes that changed into the todolist. in iterate()
348 if (nodes[n].preferReg()) in iterate()
369 if (!nodes[n].preferReg()) { in finish()