Abstract
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 A -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.
Original language | English (US) |
---|---|
Pages (from-to) | 35-46 |
Number of pages | 12 |
Journal | IEEE Transactions on Computers |
Volume | 44 |
Issue number | 1 |
DOIs | |
State | Published - Jan 1995 |
Fingerprint
ASJC Scopus subject areas
- Software
- Theoretical Computer Science
- Hardware and Architecture
- Computational Theory and Mathematics
Cite this
Compiler-Based Multiple Instruction Retry. / Li, Chung Chi Jim; Chen, Shyh Kwei; Fuchs, W. Kent; Hwu, Wen-Mei W.
In: IEEE Transactions on Computers, Vol. 44, No. 1, 01.1995, p. 35-46.Research output: Contribution to journal › Article
}
TY - JOUR
T1 - Compiler-Based Multiple Instruction Retry
AU - Li, Chung Chi Jim
AU - Chen, Shyh Kwei
AU - Fuchs, W. Kent
AU - Hwu, Wen-Mei W
PY - 1995/1
Y1 - 1995/1
N2 - 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 A -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.
AB - 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 A -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.
UR - http://www.scopus.com/inward/record.url?scp=0029208695&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=0029208695&partnerID=8YFLogxK
U2 - 10.1109/12.368011
DO - 10.1109/12.368011
M3 - Article
AN - SCOPUS:0029208695
VL - 44
SP - 35
EP - 46
JO - IEEE Transactions on Computers
JF - IEEE Transactions on Computers
SN - 0018-9340
IS - 1
ER -