An analytical approach to scheduling code for superscalar and VLIW architectures
- Univ. of Illinois, Urbana, IL (United States)
Superscalar and Very Long Instruction Word (VLIW) architectures exploit fine-grain parallelism to achieve better performance. Static scheduling techniques, such as trace scheduling and superblock scheduling, can effectively produce compact code for these architectures. In this paper, we present an analytical approach for bookkeeping in code scheduling that alleviates the coding complexity and instruction duplication limitations of the previous approaches. We describe techniques that allow instructions to be moved around loop and if-then-else constructs using global information. We also show that according to the classification of the register sets, certain instructions can be moved around subroutine calls, since their register live ranges can be determined across the procedural boundaries at compile time. Performance is compared with respect to the speed-up, the code size and the scheduling time. Experimental results indicate that the code growth and the speed-up are both improved with small increase in scheduling time.
- OSTI ID:
- 98918
- Report Number(s):
- CONF-940856--; CNN: Grant NAG1-613; Contract N00014-91-J-1283
- Country of Publication:
- United States
- Language:
- English
Similar Records
Bulldog: a compiler for VLIW architectures
Enhanced superscalar hardware: The schedule table