Register allocation during computer program code compilation is accomplished by determining a set of spill candidates, by evaluating a cost function for each spill candidate using a plurality of spill strategies, and by selecting the spill candidate having the lowest cost function value. Preferably, the set of possible spill candidates is determined by the Chaitin method of constructing an interference graph of all live ranges of symbolic registers, and iteratively removing nodes and placing them on a stack. Preferably, multiple spill strategies are represented as varying numbers of deaths N of live ranges of other symbolic registers, a spill strategy N signifying that spill code is introduced whenever the number of deaths occurring between two successive uses of a symbolic register equals or exceeds N. In the preferred embodiment, the cost is a function of the number, type and frequency of each operation introduced by the spill, and is divided by a benefit factor represented as the degree of the node.

La ripartizione del registro durante la compilazione di codice di programma destinato all'elaboratore è compiuta determinando un insieme dei candidati di caduta, valutando una funzione di costo per ogni candidato di caduta usando una pluralità di strategie di caduta e selezionando il candidato di caduta che ha il valore di funzione di basso costo. Preferibilmente, l'insieme dei candidati possibili di caduta è determinato con il metodo di Chaitin di costruzione del grafico di interferenza con tutti gamme in tensione di registri simbolici ed iteratamente di rimozione dei nodi e di disposizione loro su una pila. Preferibilmente, le strategie multiple di caduta sono rappresentate come numeri di variazione di morti la N delle gamme in tensione di altri registri simbolici, una strategia N di caduta indicando che il codice di caduta è introdotto ogni volta che il numero di morti che accadono fra due usi successivi di un registro simbolico è uguale o eccede la N. Nel metodo di realizzazione preferito, il costo è una funzione del numero, del tipo e della frequenza di ogni funzionamento introdotto dalla caduta ed è diviso da un fattore del beneficio rappresentato come il grado del nodo.

 
Web www.patentalert.com

< Multimedia presentation latency minimization

< System and method for synchronizing enhancing content with a video program using closed captioning

> Invention to allow hierarchical logical-to-physical checking on chips

> System for improving circuit simulations by utilizing a simplified circuit model based on effective capacitance and inductance values

~ 00061