• DocumentCode
    2533281
  • Title

    An experimental study of several cooperative register allocation and instruction scheduling strategies

  • Author

    Norris, Cindy ; Pollock, Lori L.

  • Author_Institution
    Math. Sci., Appalachian State Univ., Boone, NC, USA
  • fYear
    1995
  • fDate
    29 Nov-1 Dec 1995
  • Firstpage
    169
  • Lastpage
    179
  • Abstract
    Compile-time reordering of low level instructions is successful in achieving large increases in performance of programs on fine-grain parallel machines. However, because of the interdependences between instruction scheduling rand register allocation, a lack of cooperation between the schedules and register allocator can result in generating code that contains excess register spills and/or a lower degree of parallelism than actually achievable. This paper describes a strategy for providing cooperation between register allocation and both global and local instruction scheduling. We experimentally compare this strategy with other cooperative and uncooperative scenarios. Our experiments indicate that the greatest speedups are obtained by performing either cooperative or uncooperative global instruction scheduling with cooperative register allocation and local instruction scheduling
  • Keywords
    optimising compilers; parallel machines; resource allocation; compile-time reordering; cooperative register allocation; fine-grain parallel machines; instruction scheduling strategies; local instruction scheduling; low level instructions; programs performance; register allocation; register allocator; Delay; Optimizing compilers; Parallel machines; Parallel processing; Processor scheduling; Registers; Runtime;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Microarchitecture, 1995., Proceedings of the 28th Annual International Symposium on
  • Conference_Location
    Ann Arbor, MI
  • ISSN
    1072-4451
  • Print_ISBN
    0-8186-7349-4
  • Type

    conf

  • DOI
    10.1109/MICRO.1995.476824
  • Filename
    476824