MetaCartSign in to MyCiteSeer

Include Citations | Advanced Search | Help

Include Citations | Advanced Search | Help

  A practical framework for combining instruction scheduling and register assignment (1995) [3 citations — 0 self]

Download:
Download as a PDF | Download as a PS
by Thomas S. Brasier, Philip H. Sweany, Steven J. Beaty
In Proc. Intl. Conf. Parallel Architectures and Compilation Techniques (PACT’95) (Limassol
http://emess.mscd.edu/~beaty/Dossier/Papers/Craig.ps
Add To MetaCart

Abstract:

In compilers for machines with instruction-level parallelism, the phases of register assignment and instruction scheduling can be antagonistic. Whichever phase is executed first can have negative effects on the other's performance. This paper describes a framework, called CRAIG (Combining Register Assignment Interference Graphs), that combines register assignment and instruction schedulingto alleviate the phase-orderingproblem. CRAIG utilizes information gained from instruction scheduling before register assignment as an upper bound on the freedom needed by the instruction scheduler to attain its "best " schedule. CRAIG then allows heuristics to choose how close to the "best " schedule one can get before the cost of additional register pressure is too high. Within the context of this framework, the paper evaluates an instance of CRAIG called CRAIG 0. 1

Citations

7715 Computers and Intractability: A Guide to the Theory of NP-Completeness – Garey, Johnson - 1979
342 Register allocation and spilling via graph coloring – Chaitin - 1982
168 Register Allocation via coloring – Chaitin, Auslander, et al. - 1981
125 The ParaScope Parallel Programming Environment – Cooper, Hall, et al. - 1993
104 Integrating Register Allocation and Instruction Scheduling for RISCs – Bradlee, Eggers, et al. - 1991
102 Code Scheduling and Register Allocation in Large Basic Blocks – Goodman, Hsu - 1988
76 Dynamic dependency analysis of ordinary programs – Austin, Sohi - 1992
62 Single instruction stream parallelism is greater than two – Butler, Yeh, et al. - 1991
61 Register allocation with instruction scheduling: a new approach – Pinter - 1993
40 Local microcode compaction techniques – Landskov, Davidson, et al. - 1980
29 Phase Ordering of Register Allocation and Instruction Scheduling – Freudenberger, Ruttenberg - 1992
24 Time and parallel processor bounds for FORTRAN-like loops – Banerjee, Shen, et al. - 1979
23 A scheduler-sensitive global register allocator – Norris, Pollock - 1993
20 Overview of the Rocket retargetable C compiler – Sweany, Beaty - 1994
6 A Machine-Independent Approach to the Production of Optimal Horizontal Microcode – DeWitt - 1976
3 An analysis of instruction-level parallelism in several common benchmarks – Peterman - 1993
1 A scheduler-sensitiveglobal register allocator – NORRIS, ANDPOLLOCK - 1993
1 A Machine-IndependentApproachto the Production of Optimal Horizontal Microcode – DEWITT - 1976
1 OverviewoftheROCKET retargetable C compiler – SWEANY, BEATY - 1994