The University of Arizona
banner image

  PLTO: A Link-Time Optimizer for the Intel IA-32 Architecture

Benjamin Schwarz, Saumya Debray, Gregory Andrews, Matthew Legendre
Department of Computer Science
University of Arizona
Tucson, AZ 85721, U.S.A.
 

Abstract
This paper describes PLTO, a link-time instrumentation and optimization tool we have developed for the Intel IA-32 architecture. A number of characteristics of this architecture complicate the task of link-time optimization. These include a large number of op-codes and addressing modes, which increases the complexity of program analysis; variable-length instructions, which complicates disassembly of machine code; a paucity of available registers, which limits the extent of some optimizations; and a reliance on using memory locations for holding values and for parameter passing, which complicates program analysis and optimization. We describe how PLTO addresses these problems and the resulting performance improvements it is able to achieve.