Issue No. 08 - August (2001 vol. 50)
<p><b>Abstract</b>—Since instruction level parallelism in basic blocks is often limited, compilers increase performance by creating superblocks that allow operations to be issued speculatively. This is difficult in general because each branch competes for the processor's limited resources. Previous work manages the performance trade-offs that exist between branches only indirectly. We show here that dependence and resource constraints can be used to gather explicit knowledge about scheduling trade-offs between branches. This paper's first contribution is a set of new, tighter lower bounds on the execution times of superblocks that specifically account for the dependence and resource conflicts between pairs of branches. This paper's second contribution is a novel superblock scheduling heuristic that finds high performance schedules by determining the operations that each branch needs to be scheduled early and selecting branches with compatible needs that favor beneficial branch trade-offs. Performance evaluations for superblocks from SPECint95 indicate that our bounds are very tight and that our scheduling heuristic outperforms well-known superblock scheduling algorithms.</p>
Superblock, scheduling heuristic, lower bound, ILP compiler technique.
A. Eichenberger, W. Meleis and I. Baev, "Scheduling Superblocks with Bound-Based Branch Trade-Offs," in IEEE Transactions on Computers, vol. 50, no. , pp. 784-797, 2001.