Abstract. Compilers use register coalescing to avoid generating code for copy instructions. For architectures with register aliasing such as x86, Smith, Ramsey, and Holloway (2004) presented a polynomial-time ap-proach, while Scholz and Eckstein (2002) presented an optimal, exponen-tial-time approach together with a near-optimal, quadratic-time heuris-tic. Both methods scale poorly after aggressive live range splitting, espe-cially for programs in elementary form where live ranges are split at ev-ery program point. In contrast, we mentioned in a previous paper (2008), without giving details, that we have a scalable, linear-time heuristic for programs in elementary form. In an effort to formalize that heuristic, we discovered an even better ...
Code generation in a compiler is commonly divided into several phases: instruction selection, schedu...
Abstract. Writing performance-critical programs can be frustrating be-cause optimizing compilers for...
This article aims at making iterative optimization practical and usable by speeding up the evaluatio...
A plethora of program analysis and optimization techniques rely on linear programming at their heart...
International audienceJust-in-time compilers are becoming ubiquitous, spurring the design of more ef...
National audienceRegister allocation is often a two-phase approach: spilling of registers tomemory, ...
Phase-decoupled methods for code generation are the state of the art in compilers for standard proce...
This thesis presents a framework for describing optimizations. It shows how to combine two such fram...
Register allocation is an integral part of compilation, regardless of whether a compiler aims for fa...
This work was also published as a Rice University thesis/dissertation: http://hdl.handle.net/1911/16...
In global scheduling for ILP processors, regionenlarging optimizations, especially tail duplication,...
Intermediate structures such as lists and higher-order functions are very common in most styles of f...
Parallelizing compilers promise to exploit the parallelism available in a given program, particularl...
Generating optimal code is a challenging problem. Traditional compilers break down the problem compl...
Iteration space tiling is a common strategy used by parallelizing compilers to reduce communication ...
Code generation in a compiler is commonly divided into several phases: instruction selection, schedu...
Abstract. Writing performance-critical programs can be frustrating be-cause optimizing compilers for...
This article aims at making iterative optimization practical and usable by speeding up the evaluatio...
A plethora of program analysis and optimization techniques rely on linear programming at their heart...
International audienceJust-in-time compilers are becoming ubiquitous, spurring the design of more ef...
National audienceRegister allocation is often a two-phase approach: spilling of registers tomemory, ...
Phase-decoupled methods for code generation are the state of the art in compilers for standard proce...
This thesis presents a framework for describing optimizations. It shows how to combine two such fram...
Register allocation is an integral part of compilation, regardless of whether a compiler aims for fa...
This work was also published as a Rice University thesis/dissertation: http://hdl.handle.net/1911/16...
In global scheduling for ILP processors, regionenlarging optimizations, especially tail duplication,...
Intermediate structures such as lists and higher-order functions are very common in most styles of f...
Parallelizing compilers promise to exploit the parallelism available in a given program, particularl...
Generating optimal code is a challenging problem. Traditional compilers break down the problem compl...
Iteration space tiling is a common strategy used by parallelizing compilers to reduce communication ...
Code generation in a compiler is commonly divided into several phases: instruction selection, schedu...
Abstract. Writing performance-critical programs can be frustrating be-cause optimizing compilers for...
This article aims at making iterative optimization practical and usable by speeding up the evaluatio...