Sampling of Submitted Papers Using a Lookahead Window in a Compaction-Based Parallelizing Toshio Nakatani, IBM Tokyo Research Laboratory, 5-19 Sanbancho, Chiyoda-ku, Tokyo 102 Kemal Ebcio~lu, IBM Thomas J. Watson Research Center P.O.Box 218, Yorktown Heights, NY 10598 Abstract Compiler Lookahead is a common technique for high-performance uniprocessor design. In general, however, hardware lookahead window is too small to exploit instruction-level parallelism at run time. On the other hand, compaction-based parallelizing compilers must suffer from worst-case exponential code explosion at compile time. In this paper, we propose a software lookahead method, which allows inter-basic block code motions within the prespecified number of operations, called software lookahead window, on any path emanating from the currently processed instruction at compile time. By software lookahead, instruction-level parallelism can be exploited in much greater code area than the hardware approach, hut the lookahead region is still limited to a constant depth with the user-specifiable window and thus code explosion is restricted. The proposed scheme has been implemented in our prototype parallelizing compiler, which can generate code for uniprocessors with multiple functional units and multiway conditional branches, such as VLIW machines, and potentially for superscalars as well. To study code explosion problem and instruction-level
/lp/association-for-computing-machinery/sampling-of-submitted-papers-EoH9nCYJry