Automatic instruction scheduler retargeting by reverse-engineering

Matthew J. Bridges, Neil Vachharajani, Guilherme Ottoni, David I. August

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

In order to generate high-quality code for modern processors, a compiler must aggressively schedule instructions, maximizing resource utilization for execution efficiency. For a compiler to produce such code, it must avoid structural hazards by being aware of the processor's available resources and of how these resources are utilized by each instruction. Unfortunately, the most prevalent approach to constructing such a scheduler, manually discovering and specifying this information, is both tedious and error-prone. This paper presents a new approach which, when given a processor or processor model, automatically determines this information. After establishing that the problem of perfectly determining a processor's structural hazards through probing is not solvable, this paper proposes a heuristic algorithm that discovers most of this information in practice. This can be used either to alleviate the problems associated with manual creation or to verify an existing specification. Scheduling with these automatically derived structural hazards yields almost all of the performance gain achieved using perfect hazard information.

Original languageEnglish (US)
Title of host publicationPLDI 2006 - Proceedings of the 2006 ACM SIGPLAN Conference on Programming Language Design and Implementation
Pages228-238
Number of pages11
DOIs
StatePublished - Jul 24 2006
EventPLDI 2006 - 2006 ACM SIGPLAN Conference on Programming Language Design and Implementation - Ottawa, ON, Canada
Duration: Jun 10 2006Jun 16 2006

Publication series

NameProceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI)
Volume2006

Other

OtherPLDI 2006 - 2006 ACM SIGPLAN Conference on Programming Language Design and Implementation
CountryCanada
CityOttawa, ON
Period6/10/066/16/06

All Science Journal Classification (ASJC) codes

  • Software

Fingerprint Dive into the research topics of 'Automatic instruction scheduler retargeting by reverse-engineering'. Together they form a unique fingerprint.

  • Cite this

    Bridges, M. J., Vachharajani, N., Ottoni, G., & August, D. I. (2006). Automatic instruction scheduler retargeting by reverse-engineering. In PLDI 2006 - Proceedings of the 2006 ACM SIGPLAN Conference on Programming Language Design and Implementation (pp. 228-238). (Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI); Vol. 2006). https://doi.org/10.1145/1133255.1134008