Compiler-Assisted Multiple Instruction Retry (PostScript version, PDF version)
C. C. Li, S. K. Chen, W. K. Fuchs, and W. W. Hwu
IEEE Transactions on Computers, Vol.44, No.1, Jan. 1995.

This paper describes a compiler-assisted approach to provide multiple instruction rollback capability for general purpose processor registers. The objective is achieved by having the compiler remove all forms of N-instruction anti- dependencies. Pseudo register anti-dependencies are removed by loop protection, node splitting, and loop expansion techniques; machine register anti-dependencies are prevented by introducing anti-dependency constraints in the interference graph used by the register allocator. To support separate compilation, inter-procedural anti-dependency constraints are added to the code generator to guarantee the termination of machine register anti-dependencies across procedure boundaries. The algorithms have been implemented in the IMPACT C compiler. Experiments illustrating the effectiveness of this approach are described.


[ IMPACT Main Page | Team Members | Publications | Software | FAQ ]