Instruction scheduling over regions: A framework for scheduling across basic blocks

7Citations
Citations of this article
2Readers
Mendeley users who have this article in their library.

This article is free to access.

Abstract

Global instruction scheduling is important for superscalar, superpipelined and VLIW machines. Instruction scheduling issues for scopes extending beyond a basic block are significantly different from those for scheduling within a basic block. This paper presents a general framework for performing scheduling across basic blocks. The method presented here identifies control flow subgraphs termed regions, within which basic blocks are scheduled in forward topological order while hoisting instructions from basic blocks lower in the flow graph. Within each basic block, a directed acyclic graph represents the dependence information, while a definition matrix in conjunction with a path matrix represents the overall control and data dependence information within a region. These data structures are consulted prior to the global motion of an instruction and incrementally updated when necessary. In addition, precautions are taken to guarantee safe execution of speculative instructions. Limited renaming and code duplication is performed to overcome dependency constraints. Profile information is used when available to guide the choice of instructions. An optimizing compiler using this technique was implemented and evaluated using a set of standard performance benchmarks on real and hypothetical target machines.

Cite

CITATION STYLE

APA

Mahadevan, U., & Ramakrishnan, S. (1994). Instruction scheduling over regions: A framework for scheduling across basic blocks. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 786 LNCS, pp. 419–434). Springer Verlag. https://doi.org/10.1007/3-540-57877-3_28

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free