Decomposition of Parallel Copies with Duplication

G. N. Purohit, Venuka Sandhir · 2012

SSA form is becoming more popular in the context of JIT compilation since it allows the compiler to perform important optimizations like common sub-expression elimination or constant propagation without the drawbacks of keeping huge data structures in memory or requiring a lot of computing power. The recent approach of SSA-based register allocation performs SSA elimination after register allocation. F. Bouchez et al. proposed parallel copy motion to prevent the splitting of edges when going out of colored SSA by moving the code that should be assigned to the edges to a more convenient place. Duplications in parallel copies pose some problems when moving them. In this paper an approach has been developed to decompose parallel copies so that duplications can be handled separately and parallel copies can be easily moved away without duplication. A simple and elegant application is moving duplicated copies out of critical edges. This is often beneficial compared to the alternative splitting the edge.

Read the paper · More papers on PaperTik