2000
DOI: 10.1145/349214.349233
|View full text |Cite
|
Sign up to set email alerts
|

Compiler techniques for code compaction

Abstract: In recent years there has been an increasing trend toward the incorpor ation of computers into a variety of devices where the amount of memory available is limited. This makes it desirable to try to reduce the size of applications where possible. This article explores the use of compiler techniques to accomplish code compaction to yield smaller executables. The main contribution of this article is to show that careful, aggressive, interprocedural optimization, together with procedural abstraction of repeated c… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

1
132
0
2

Year Published

2006
2006
2024
2024

Publication Types

Select...
3
3
2

Relationship

0
8

Authors

Journals

citations
Cited by 199 publications
(135 citation statements)
references
References 2 publications
1
132
0
2
Order By: Relevance
“…Previous works include a wide range of techniques from code compression [10][11][12][13] to procedure abstraction [14][15][16] and dead code elimination [17].…”
Section: Related Workmentioning
confidence: 99%
See 1 more Smart Citation
“…Previous works include a wide range of techniques from code compression [10][11][12][13] to procedure abstraction [14][15][16] and dead code elimination [17].…”
Section: Related Workmentioning
confidence: 99%
“…[16,17] explain various code elimination methods including unreachable, redundant and dead code elimination. These methods are demonstrated in their binary-rewriting tool, squeeze, along with interprocedural constant propagation and strength reduction.…”
Section: Related Workmentioning
confidence: 99%
“…Upon execution of a stub, the necessary code is decompressed in a fixed-size buffer. When applied to programs that were already optimized for code size using link-time compaction techniques [12], additional code size reductions of 13.7% to 18.8% were achieved. The performance impact ranges from a slight speedup to a 28% slowdown.…”
Section: On-demand Code Loadingmentioning
confidence: 99%
“…As the microcode is mostly hand-coded, we may assume that the best effort to remove redundancy by means of software has already been applied. These range from the use of classical compiler optimizations such as strength reduction, dead code elimination, tail merging, and common sub-expression elimination [6] to more elaborated techniques, like Procedural Abstraction [8], [16].…”
Section: Related Workmentioning
confidence: 99%