Personal tools
You are here: Home Publications Fast Copy Coalescing and Live-range Identification Without an Interference Graph
Document Actions

Zoran Budimlic, Keith D Cooper, Timothy J Harvey, and Steven W Reeves (2002)

Fast Copy Coalescing and Live-range Identification Without an Interference Graph

In: , Berlin, Germany, Proceedings of the ACM SIGPLAN 2002 Symposium on Programming Language Design and Implementation (PLDI 2002).

This paper presents a fast new algorithm for modeling and reasoning about interferences for variables in a program without constructing an interference graph. It then describes how to use this information to minimize copy insertion for φ-node instantiation during the conversion of the static single assignment (SSA) form into the control-flow graph (CFG), effectively yielding a new, very fast copy coalescing and live-range identification algorithm.

This paper proves some properties of the SSA form that enable construction of data structures to compute interference information for variables that are considered for folding. The asymptotic complexity of our SSA-to-CFG conversion algorithm is O(nα(n)), where n is the number of instructions in the program.

Performing copy folding during the SSA-to-CFG conversion eliminates the need for a separate coalescing phase while simplifying the intermediate code. This may make graph-coloring register allocation more practical in just in time (JIT) and other time-critical compilers For example, Sun’s Hotspot Server Compiler already employs a graph-coloring register allocator[10].

This paper also presents an improvement to the classical interference- graph based coalescing optimization that shows a decrease in memory usage of up to three orders of magnitude and a decrease of a factor of two in compilation time, while providing the exact same results.

We present experimental results that demonstrate that our algorithm is almost as precise (within one percent on average) as the improved interference-graph-based coalescing algorithm, while requiring three times less compilation time.

by admin last modified 2007-12-10 21:05
« September 2010 »
Su Mo Tu We Th Fr Sa
1234
567891011
12131415161718
19202122232425
2627282930
 

Powered by Plone

LACSI Collaborators include:

Rice University LANL UH UNM UIUC UNC UTK