Enhanced Modulo Scheduling For Loops With Conditional Branches
Enhanced Modulo Scheduling For Loops With Conditional Branches
复制标题
具有条件分支的循环的增强模调度
DOI:
10.1109/micro.1992.697013
复制
发表时间:
1992
期刊:
影响因子:
--
通讯作者:
J. Bockhaus
中科院分区:
文献类型:
--
作者:
N. Warter;Grant E. Haab;K. Subramanian;J. Bockhaus
Loops with conditionalbrancheshave multiple execution paths which are di(cid:14)cult to software pipeline. The modulo scheduling technique for software pipelining addresses this problem by converting loops with conditional branches into straight-line code before scheduling. In this paper we present an Enhanced Modulo Scheduling (EMS) technique that can achieve a lower minimum Initiation Interval than modulo schedulingtechniquesthat rely on either Hierarchical Reduction or If-conversion with Predicated Execution. These three modulo schedulingtechniques have been implemented in a prototype compiler. We show that for existing architectures which support one branch per cycle, EMS performs approximately 18% better than Hierarchical Reduction. We also show that If-conversion with Predicated Execution outperforms EMS assuming one branch per cycle. However, with hardware support for multiple branches per cycle, EMS should perform as well as or better than If-conversion with Predicated Execution.