ACM Home Page
Please provide us with feedback. Feedback
Compiling with code-size constraints
Full text PdfPdf (179 KB)
Source ACM Transactions on Embedded Computing Systems (TECS) archive
Volume 3 ,  Issue 1  (February 2004) table of contents
Pages: 163 - 181  
Year of Publication: 2004
ISSN:1539-9087
Authors
Mayur Naik  Purdue University, West Lafayette, IN
Jens Palsberg  Purdue University, West Lafayette, IN
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 5,   Downloads (12 Months): 57,   Citation Count: 1
Additional Information:

abstract   references   cited by   index terms   review   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/972627.972635
What is a DOI?

ABSTRACT

Most compilers ignore the problems of limited code space in embedded systems. Designers of embedded software often have no better alternative than to manually reduce the size of the source code or even the compiled code. Besides being tedious and error prone, such optimization results in obfuscated code that is difficult to maintain and reuse. In this paper, we present a step towards code-size-aware compilation. We phrase register allocation and code generation as an integer linear programming problem where the upper bound on the code size can simply be expressed as an additional constraint. The resulting compiler, when applied to six commercial microcontroller programs, generates code nearly as compact as carefully crafted 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
 
4
Fourer, R., Gay, D. M., and Kernighan, B. W. 1993. AMPL: A Modeling Language for Mathematical Programming. The Scientific Press.
 
5
 
6
 
7
Kremer, U. 1997. Optimal and near-optimal solutions for hard compilation problems. Parallel Processing Letters 7, 4.
 
8
9
 
10
Liberatore, V., Farach-Colton, M., and Kremer, U. 1999. Evaluation of algorithms for local register allocation. 137--152.
 
11
12
 
13
Palsberg, J. and Wallace, M. 2002. Reverse engineering of real-time assembly code. Manuscript.
14
15
16
17
 
18
19
 
20
Zilog. Z8 Microcontroller User's Manual. See http://www.zilog.com.



REVIEW

"William M. Waite : Reviewer"

Embedded applications usually have serious memory constraints, due to the physical limitations of the systems of which they are a part. Compilers for such systems need to optimize programs for space rather than speed. The authors used integer line  more...

Collaborative Colleagues:
Mayur Naik: colleagues
Jens Palsberg: colleagues