Cooper, Keith D.2009-06-042009-06-041998Harvey, Timothy J.. "Reducing the impact of spill code." (1998) Master’s Thesis, Rice University. <a href="https://hdl.handle.net/1911/17173">https://hdl.handle.net/1911/17173</a>.https://hdl.handle.net/1911/17173All graph-coloring register allocators rely on heuristics to arrive at a "good" answer to the NP-complete problem of allocation, resulting in suboptimal code. We look at a post-pass to the allocator which removes unnecessary spill code by finding places where the availability of an unused register allows us to "promote" a spill to a register. We explain and correct an error in Briggs' code that sometimes inserts an excessive and unnecessary number of spill instructions. The fix to this bug has an insignificant impact on the runtime of the compiler and never causes a degradation in runtime of the code produced. We suggest minimizing the impact of the spill code through the use of a small separate memory dedicated to spills and under the exclusive control of the compiler. We show an algorithm and experimental results which suggest that this hardware construct would significantly decrease the runtime of the code.52 p.application/pdfengCopyright is held by the author, unless otherwise indicated. Permission to reuse, publish, or reproduce the work beyond the bounds of fair use or other exemptions to copyright law must be obtained from the copyright holder.Computer scienceReducing the impact of spill codeThesisTHESIS COMP.SCI. 1998 HARVEY