| Compiling with code-size constraints |
| Full text |
Pdf
(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
|
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 5, Downloads (12 Months): 57, Citation Count: 1
|
|
|
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
|
Oren Avissar , Rajeev Barua , Dave Stewart, Heterogeneous memory management for embedded systems, Proceedings of the 2001 international conference on Compilers, architecture, and synthesis for embedded systems, November 16-17, 2001, Atlanta, Georgia, USA
[doi> 10.1145/502217.502223]
|
| |
3
|
Dennis Brylow , Niels Damgaard , Jens Palsberg, Static checking of interrupt-driven software, Proceedings of the 23rd International Conference on Software Engineering, p.47-56, May 12-19, 2001, Toronto, Ontario, Canada
|
| |
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
|
Jinpyo Park , Je-Hyung Lee , Soo-Mook Moon, Register Allocation for Banked Register File, Proceedings of the ACM SIGPLAN workshop on Languages, compilers and tools for embedded systems, p.39-47, August 2001, Snow Bird, Utah, United States
|
 |
15
|
|
 |
16
|
John Ruttenberg , G. R. Gao , A. Stoutchinin , W. Lichtenstein, Software pipelining showdown: optimal vs. heuristic methods in a production compiler, Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation, p.1-11, May 21-24, 1996, Philadelphia, Pennsylvania, United States
|
 |
17
|
Jan Sjödin , Carl von Platen, Storage allocation for embedded processors, Proceedings of the 2001 international conference on Compilers, architecture, and synthesis for embedded systems, November 16-17, 2001, Atlanta, Georgia, USA
[doi> 10.1145/502217.502221]
|
| |
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...
|