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.
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