Welcome!
To use the personalized features of this site, please log in or register.
If you have forgotten your username or password, we can help.
|
 |
Integrated Instruction Scheduling and Register Allocation Techniques
| |
|
Integrated Instruction Scheduling and Register Allocation Techniques
David A. Berson6, Rajiv Gupta7 and Mary Lou Soffa7
| (6) |
Microcomputer Research Lab, Intel Corporation, 2200 Mission College Blvd., Santa Clara, CA 95052, USA |
| (7) |
Dept. of Computer Science, University of Pittsburgh, Pittsburgh, PA 15260, USA |
Abstract
An algorithm for integrating instruction scheduling and register allocation must support mechanisms for detecting excessive register and functional unit demands and applying reductions for lessening these demands. The excessive demands for functional units can be detected by identifying the instructions that
can execute in parallel, and can be reduced by scheduling some of these instructions sequentially. The excessive demands for
registers can be detected on-the-fly while scheduling by maintaining register pressure values or may be detected prior to
scheduling using an appropriate representation such as parallel interference graphs or register reuse dags. Reductions in
excessive register demands can be achieved by live range spilling or live range splitting. However, existing integrated algorithms
that are based upon mechanisms other than register reuse dags do not employ live range splitting. In this paper, we demonstrate
that for integrated algorithms, register reuse dags are more effective than either on-the-fly computation of register pressure
or interference graphs and that live range splitting is more effective than live range spilling. Moreover the choice of mechanisms
greatly impacts on the performance of an integrated algorithm.
Supported in part by NSF Grants CCR-9402226 and CCR-9808590 to the Univ. of Pittsburgh.
Fulltext Preview (Small, Large)
 References secured to subscribers.
|
|
|
|
|
|