
|
 |
|
OX
|  |
Over the years, HRL has done innovative work that enhances the software performance of a number of IBM products using compiler optimization techniques, and has established itself as a leader in this arena. These techniques include: instruction scheduling, software pipelining, collapsing data dependencies, register allocation, exploitation of machine specific resources and I-cache, and special instructions optimizations. These techniques have made significant improvements to a number of IBM products including the AS/400 family of machines.
The OX project, an Optimizing Translator for AS/400 PowerPC AS-based computer systems, was started by HRL in 1992. The project objectives were to add machine dependent optimizations to the OX/SLIC optimizing translator for the Amazon AS/400 line of machines. HRL developed the following optimizations:
- Register allocation
- Instruction scheduling
- Memory disambiguation
- Loop unrolling
- Instruction cache exploitation by code reordering (FDPR)
- Profile based improvements
- Static branch prediction
- Optimizations for the Giga Processor (GP)
- Improvement of decimal multiplication and division
- Conversion of division by constant into multiplication
- Several other machine dependent optimizations
The above optimizations provided substantial performance improvements to user code translated by OX, and to SLIC operating system code translated by slicox. Several disclosures were published, filed, and issued as a result of this work.
Papers
|
 |
|
- A. Zaks, V. Feldman, and N. Aizikowitz, "Sealed Calls in Java Packages", OOPSLA, 2000.
- W. J. Schmidt, R. R. Roediger, C. S. Mestad, B. Mendelson, I. Shavit-Lottem, and V. Bortnikov-Sitnitsky, "Profile-directed Restructuring of Operating System Code," IBM Systems Journal, Vol. 37, No. 2, 1998.
- A. Zaks, V. Feldman and N. Aizikowitz, "Sealed Calls in Java Packages," OOPSLA, 2000.
- Accurate and simple static branch prediction, A. Zaks, submitted for publication.
|
 |
|
 |
|