Compiler-assisted multiple instruction retry

Abstract

This paper describes a compiler-assisted approach toproviding multiple instruction rollback capability for general purpose processor registers. The objective isachieved by having the compiler remove all forms of N-instruction anti-dependencies. Pseudo register anti-dependencies are removed by loop protection, node splitting, and loop expansion techniques; machine register antidependencies are prevented by introducing anti-dependency constraints in the interference graph used by the register allocator. To support separate compilation, inter-procedural anti-dependency 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 e ectiveness of this approach are described

    Similar works