Fast Incremental Compiler Transformations for Multiple Instruction Retry

Abstract

Previous work on compiler-assisted multiple instruction retry has utilized a series of compiler transformations, loop protection, node splitting, and loop expansion, to eliminate anti-dependencies of length < N in the pseudo register, machine register, and the post-pass resolver phases of compilation. The results have provided a means of rapidly recovering from transient processor failures by rolling back N instructions. This paper presents techniques for improving compilation and runtime performance in compiler-assisted multiple instruction retry. Incremental updating enhances compilation time when new instructions are added to the program. Post-pass code rescheduling and spill register reassignment algorithms improve the run-time performance and decrease the code growth across the application programs studied. Branch hazards axe also shown to be resolvable by simple modifications to the incremental updating schemes during the pseudo register phase and to the spill register reassignment algorithm during the post-pass phase.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Jul 01, 1992
Accession Number
ADA274290

Entities

People

  • Neal J. Alewine
  • Shyh-kwei Chen
  • W. K. Fuichs
  • Wen-mei Hwu

Organizations

  • University of Illinois Urbana–Champaign

Tags

Communities of Interest

  • C4I
  • Space

DTIC Thesaurus Topics

  • Algorithms
  • Application Software
  • Boundaries
  • Compilers
  • Computations
  • Computers
  • Detection
  • Instructions
  • Iterations
  • Mathematics
  • Military Research
  • Procedures (Computers)
  • Recovery
  • Recursive Functions
  • Splitting

Fields of Study

  • Computer science

Readers

  • Parallel and Distributed Computing.
  • Systems Analysis and Design