Rotating Register Allocation with Multiple Rotating Branches

Authors
Kim, SuhyunMoon, Soo-Mook
Issue Date
2008-06
Publisher
ASSOC COMPUTING MACHINERY
Citation
22nd ACM International Conference on Supercomputing, pp.235 - +
Abstract
A rotating register file is an architectural support for software pipelining, where many registers can be renamed at once when a rotating branch is executed. It has primarily been used for overcoming the cross-iteration register over-writes in modulo-scheduled, straight-line or if-converted loops [2]. Recently, a new technique [6] has been proposed to use rotating registers for loops with arbitrary control flows, scheduled by enhanced pipeline scheduling (EPS). EPS generates many hard-to-delete copies to overcome the cross-iteration register overwrites, but these copies may cause a stall in addition to taking resources. The proposed technique eliminates those copies by allocating rotating registers, avoiding a serious slowdown caused by them. Unfortunately. it could not eliminate enough copies, as much as those removed by the unroll-based copy elimination technique [7], although both techniques employ the same abstraction called an extended live range (ELR). This is due to the limitation that only a branch edge can be a rotating branch, while any edge can be an unrolling edge. In this paper, we propose an enhanced rotating register allocation technique where we can use more than one rotating branches in order to eliminate more copies. This requires an extension of the theory of ELR and the rotating register allocation algorithm. Our experimental results indicate that our proposed technique can eliminate 20% more copies than the previous technique, which results in a performance improvement as much as more than 10%.
URI
https://pubs.kist.re.kr/handle/201004/116075
Appears in Collections:
KIST Conference Paper > 2008
Files in This Item:
There are no files associated with this item.
Export
RIS (EndNote)
XLS (Excel)
XML

qrcode

Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.

BROWSE