The Superblock: An Effective Technique for VLIW and Superscalar Compilation [chapter]

Wen-Mei W. Hwu, Scott A. Mahlke, William Y. Chen, Pohua P. Chang, Nancy J. Warter, Roger A. Bringmann, Roland G. Ouellette, Richard E. Hank, Tokuzo Kiyohara, Grant E. Haab, John G. Holm, Daniel M. Lavery
1993 Instruction-Level Parallelism  
A compiler for VLIW and superscalar processors must expose su cient instruction-level parallelism ILP to e ectively utilize the parallel hardware. However, ILP within basic blocks is extremely limited for control-intensive programs. We h a v e developed a set of techniques for exploiting ILP across basic block boundaries. These techniques are based on a novel structure called the superblock. The superblock enables the optimizer and scheduler to extract more ILP along the important execution
more » ... s by systematically removing constraints due to the unimportant paths. Superblock optimization and scheduling have been implemented in the IMPACT-I compiler. This implementation gives us a unique opportunity to fully understand the issues involved in incorporating these techniques into a real compiler. Superblock optimizations and scheduling are shown to be useful while taking into account a v ariety of architectural features. Index terms -c o d e s c heduling, control-intensive programs, instruction-level parallel processing, optimizing compiler, pro le information, speculative execution, superblock, superscalar processor, VLIW processor.
doi:10.1007/978-1-4615-3200-2_7 fatcat:rktyy2dkd5dapokuxhkxa77wqe