Sciweavers

CGO
2005
IEEE

A Progressive Register Allocator for Irregular Architectures

13 years 10 months ago
A Progressive Register Allocator for Irregular Architectures
Register allocation is one of the most important optimizations a compiler performs. Conventional graphcoloring based register allocators are fast and do well on regular, RISC-like, architectures, but perform poorly on irregular, CISC-like, architectures with few registers and nonorthogonal instruction sets. At the other extreme, optimal register allocators based on integer linear programming are capable of fully modeling and exploiting the peculiarities of irregular architectures but do not scale well. We introduce the idea of a progressive allocator. A progressive allocator finds an initial allocation of quality comparable to a conventional allocator, but as more time is allowed for computation the quality of the allocation approaches optimal. This paper presents a progressive register allocator which uses a multi-commodity network flow model to elegantly represent the intricacies of irregular architectures. We evaluate our allocator as a substitute for gcc’s local register alloc...
David Koes, Seth Copen Goldstein
Added 24 Jun 2010
Updated 24 Jun 2010
Type Conference
Year 2005
Where CGO
Authors David Koes, Seth Copen Goldstein
Comments (0)