Issue No. 01 - January (1995 vol. 44)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/12.368011
<p>This paper describes a compiler-based approach to providing multiple instruction rollback capability for general purpose processor registers. The objective is achieved by having the compiler remove all forms of <math><tmath>N</tmath></math>-instruction antidependencies. Pseudoregister antidependencies are removed by loop protection, node splitting, and loop expansion techniques; machine register antidependencies are prevented by introducing antidependency constraints in the interference graph used by the register allocator. To support separate compilation, inter-procedural antidependency constraints are added to the code generator to guarantee the termination of machine register antidependencies across procedure boundaries. The algorithms have been implemented in the IMPACT C compiler. Experiments illustrating the effectiveness of this approach are described.</p>
rollback recovery, fault-tolerant computing, instruction retry, compilers
W. K. Fuchs, S. Chen, C. J. Li and W. W. Hwu, "Compiler-Based Multiple Instruction Retry," in IEEE Transactions on Computers, vol. 44, no. , pp. 35-46, 1995.