Compiler-Based Multiple Instruction Retry

  • Authors:
  • Chung-Chi Jim Li;Shyh-Kwei Chen;W. Kent Fuchs;Wen-Mei W. Hwu

  • Affiliations:
  • Univ. of Illinois, Urbana-Champaign;IBM T. J. Watson Research Center, Yorktown Heights, NY;Univ. of Illinois, Urbana;Univ. of Illinois, Urbana

  • Venue:
  • IEEE Transactions on Computers
  • Year:
  • 1995

Quantified Score

Hi-index 14.98

Visualization

Abstract

This paper describes a compiler-based 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 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