ACM Home Page
Please provide us with feedback. Feedback
Instruction selection, resource allocation, and scheduling in the AVIV retargetable code generator
Full text PdfPdf (214 KB)
Source Annual ACM IEEE Design Automation Conference archive
Proceedings of the 35th annual Design Automation Conference table of contents
San Francisco, California, United States
Pages: 510 - 515  
Year of Publication: 1998
ISBN:0-89791-964-5
Authors
Silvina Hanono  Department of EECS, MIT
Srinivas Devadas  Department of EECS, MIT
Sponsors
SIGDA: ACM Special Interest Group on Design Automation
EDAC : Electronic Design Automation Consortium
IEEE-CS : Computer Society
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 6,   Downloads (12 Months): 33,   Citation Count: 29
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/277044.277184
What is a DOI?

ABSTRACT

The AVIV retargetable code generator produces optimized machine code for target processors with different instruction set architectures AVIV optimizes for minimum code size. Retargetable code generation requires the development of heuristic algorithms for instruction selection, resource allocation, and scheduling. AVIV addresses these code generation subproblems concurrently, whereas most current code generation systems address them sequentially. It accomplishes this by converting the input application to a graphical (Split-Node DAG) representation that specifies all possible ways of implementing the application on the target processor. The information embedded in this representation in then used to set up a heuristic branch-and-bound step that performs functional unit assignment, operation grouping, register bank allocation, and scheduling concurrently. While detailed register allocation is carried out as a second step, estimates of register requirements are generated during the first step to ensure high quality of the final assembly code. We show that near-optimal code can be generated for basic blocks for different architectures within reasonable amounts of CPU time. Our framework thus allows us to accurately evaluate the performance of different architectures on application code.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
2
 
3
Stanford Compiler Group. The SUIF Library, 1.0 edition, 1994.
 
4
SPAM Research Group. SPAM Compiler User's Manual, 1.0 edition, 1997.
 
5
G. Chaitin, M. Auslander, A. Chandra, J. Cocke, M. Hopkins, and P. Markstein. Register Allocation via Coloring. Computer Languages, 6:47-57, 1981.
 
6
 
7
P. Paulin et al. FlexWare: A Flexible Firmware Development Environment for Embedded Systems. In Code Generation for Embedded Processors, pages 67-84. Kluwer Academic Publishers, 1995.
 
8
D. Lanneer et al. CHESS: Retargetable Code Generation for Embedded DSP Processors. In Code Generation for Embedded Processors, pages 85-102. Kluwer Academic Publishers, 1995.
 
9
T. Wilson et al. An ILP-Based Approach to Code Generation. In Code Generation for Embedded Processors, pages 103- 1 18. Kluwer Academic Publishers, 1995.
 
10
C. Liem, T. May, and P. Paulin. Instruction-Set Matching and Selection for DSP and ASIP Code Generation. In Proceedings of the European Design and Test Conference, pages 31-37, Feb 1994.
 
11
M. Freericks. The nML Machine Description Formalism. Technical report, TU Berlin, 1993.

CITED BY  29

Collaborative Colleagues:
Silvina Hanono: colleagues
Srinivas Devadas: colleagues