Efficient Instruction Scheduling with Precise Exceptions

We describe the SPACE algorithm for translating from one architecture such as PowerPC into
operations for another architecture such as VLIW, while also supporting scheduling, register allocation,
and other optimizations. Our SPACE algorithm supports precise exceptions, but in an
improvement over our previous work, eliminates the need for most hardware register commit operations, which are used to place values in their original program location in the original program
sequence. The elimination of commit operations frees issue slots for other computation, a feature
that is especially important for narrower machines. The SPACE algorithm is efficient, running in
O(N2) time in the number N of operations in the worst case, but in practice is closer to a two-pass
O(N) algorithm.

The fact that our approach provides precise exceptions with low overhead is useful to programming
language designers as well — exception models in which an exception can occur at almost
any instruction are not prohibitively expensive.

By: Erik R. Altman, Kemal Ebcioglu, Michael Gschwind, Sumedh Sathaye

Published in: RC22957 in 1999

LIMITED DISTRIBUTION NOTICE:

This Research Report is available. This report has been submitted for publication outside of IBM and will probably be copyrighted if accepted for publication. It has been issued as a Research Report for early dissemination of its contents. In view of the transfer of copyright to the outside publisher, its distribution outside of IBM prior to publication should be limited to peer communications and specific requests. After outside publication, requests should be filled only by reprints or legally obtained copies of the article (e.g., payment of royalties). I have read and understand this notice and am a member of the scientific community outside or inside of IBM seeking a single copy only.

rc22957.pdf

Questions about this service can be mailed to reports@us.ibm.com .