arrow
返回

Module scheduling with reduced register pressure

delete1998-06-01
delete17
delete
OA
AI
J
Josep Llosa *
M
Mateo Valero
A
Ayguade, E
A
Antonio González
DOI:10.1109/12.689643delete
delete原文链接
delete原文求助
delete分享
delete收藏
摘要

摘要

En 中文
Software pipelining is a scheduling technique that is used by some product compilers in order to expose more instruction level parallelism out of innermost loops. Module scheduling refers to a class of algorithms for software pipelining. Most previous research on module scheduling has focused on reducing the number of cycles between the initiation of consecutive iterations (which is termed II) but has not considered the effect of the register pressure of the produced schedules. The register pressure increases as the instruction level parallelism increases. When the register requirements of a schedule are higher than the available number of registers, the loop must be rescheduled perhaps with a higher II. Therefore, the register pressure has an important impact on the performance of a schedule. This paper presents a novel heuristic module scheduling strategy that tries to generate schedules with the lowest II, and, from all the possible schedules with such Il, it tries to select that with the lowest register requirements. The proposed method has been implemented in an experimental compiler and has been tested for the Perfect Club benchmarks. The results show that the proposed method achieves an optimal II for at least 97.5 percent of the loops and its compilation time is comparable to a conventional top-down approach, whereas the register requirements are lower. In addition, the proposed method is compared with some other existing methods. The results indicate that the proposed method performs better than other heuristic methods and almost as well as linear programming methods, which obtain optimal solutions but are impractical for product compilers because their computing cost grows exponentially with the number of operations in the loop body.
Keyword:
instruction scheduling
loop scheduling
software pipelining
register allocation
register spilling

期刊

IEEE Transactions on Computers 封面图
IEEE Transactions on Computers
IF:
3.8
论文数:
5.4K
被引数:
9.8K

机构

暂无机构信息
引用论文

引用论文

Neuroepithelial Endocrine Cells in the Lung of the Lungfish Protopterus aethiopicus
err2008-07-16
err0
PREAI
errDirk Adriaensen; Dietrich W. Scheuermann; Jean-Pierre Timmermans; Marie H.A. De Groodt-Lasseel
err分享
err收藏
Motor neuron disease: A primary disorder of corticomotoneurons?
err2004-10-13
err0
PREAI
errRoger Pamphlett; Jillian Kril; Tien Ming Hng
err分享
err收藏
err分享
err收藏
Brain Positron Emission Tomography-Computed Tomography Gender Differences in Tinnitus Patients
err2016-10-01
err0
PREAI
errNathan Shlamkovich; Haim Gavriel; Ephraim Eviatar; Mordechay Lorberboym; Eliad Aviram
err分享
err收藏
On the application of the IMA−CNMNC dominant-valency rule to complex mineral compositions
err2019-08-23
err0
errOAAI
errFerdinando Bosi; Frédéric Hatert; Ulf Hålenius; Marco Pasero; Ritsuro Miyawaki; Stuart J. Mills
err分享
err收藏
学者 查看更多内容