• Publications
  • Influence
Optimal spilling for CISC machines with few registers
TLDR
We show how to optimally split live ranges and optimally use addressing modes, where the optimality condition measures dynamically weighted loads and stores but not register-register moves. Expand
  • 153
  • 20
  • PDF
Iterated register coalescing
TLDR
An important function of any register allocator is to target registers so as to eliminate copy instructions. Expand
  • 125
  • 14
Iterated register coalescing
TLDR
An important function of any register allocator is to target registers so as to eliminate copy instructions. Expand
  • 177
  • 7
  • PDF
Static single assignment form for machine code
TLDR
We present a simple scheme for converting between programs in machine code and SSA, such that references to dedicated physical registers in SSA are preserved. Expand
  • 33
  • 4
An abstract machine for parallel graph reduction
  • 25
  • 1
Taming the IXP network processor
TLDR
We compile Nova, a new language designed for writing network processing applications, using a back end based on integer-linear programming (ILP) for register allocation, optimal bank assignment, and spills. Expand
  • 55
  • 1
  • PDF
A Portable and Optimizing Back End for the SML/NJ Compiler
TLDR
We use the language MLRISC, intended in part, to represent the simplest and most basic operations implementable in hardware. Expand
  • 33
  • 1
Generating Efficient Code from Strictness Annotations
TLDR
Strictness analysis gathers information that helps to overcome these inefficiencies through optimized compilation. Expand
  • 5
A Scheduling Strategy for Shared Memory Multiprocessors
  • 2
Using a functional language and graph reduction to program multiprocessor machines or functional control of imperative programs
TLDR
Functional programming for multiprocessors via graph reduction and demand evaluation . Expand
  • 4
...
1
2
...