ACM Home Page
Please provide us with feedback. Feedback
Digital Library logoTake a look at the new version of this page: [ beta version ]. Tell us what you think.
Sparse code motion
Full text PdfPdf (1.67 MB)
Source Annual Symposium on Principles of Programming Languages archive
Proceedings of the 27th ACM SIGPLAN-SIGACT symposium on Principles of programming languages table of contents
Boston, MA, USA
Pages: 170 - 183  
Year of Publication: 2000
ISBN:1-58113-125-9
Authors
Oliver Rüthing  University of Dortmund, Department of Computer Science, LS 5, D-44221 Dortmund, Germany
Jens Knoop  University of Dortmund, Department of Computer Science, LS 5, D-44221 Dortmund, Germany
Bernhard Steffen  University of Dortmund, Department of Computer Science, LS 5, D-44221 Dortmund, Germany
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
SIGACT: ACM Special Interest Group on Algorithms and Computation Theory
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 7,   Downloads (12 Months): 35,   Citation Count: 4
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/325694.325715
What is a DOI?

ABSTRACT

In this article, we add a third dimension to partial redundancy elimination by considering code size as a further optimization goal in addition to the more classical consideration of computation costs and register pressure. This results in a family of sparse code motion algorithms coming as modular extensions of the algorithms for busy and lazy code motion. Each of them optimally captures a predefined choice of priority between these three optimization goals, e.g. code size can be minimized while (1) guaranteeing at least the performance of the argument program, or (2) even computational optimality. Each of them can further be refined to simultaneously reduce the lifetimes of temporaries to a minimum. These algorithms are well-suited for size-critical application areas like smart cards and embedded systems, as they provide a handle to control the code replication problem of classical code motion techniques. In fact, we believe that our systematic, priority-based treatment of trade-offs between optimization goals may substantially decrease development costs of size-critical applications: users may “play” with the priorities until the algorithm automatically delivers a satisfactory solution.


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
G. Araujo, S. Devadas, K. Keutzer, S. Liao, S. Malik, A. Sudaxsanam, S. Tjiang, and A. Wang. Challenges in code generation for embedded processors. In P. Marwedel and G. Goossens, editors, Code Generation for Embedded Processors. Kluwer Academic Publishers, 1995.
3
4
5
6
 
7
D. M. Dhamdhere. A new algorithm for composite hoisting and strength reduction optimisation (+ Corrigendum). Int. J. Comp. Math., 27:1 - 14 (-b 31- 32), 1989.
8
9
10
11
12
13
 
14
 
15
J. E. Hopcroft and R. M. Karp. An n~ algorithm for maximum matchings in bipartite graphs. SIAM Journal of Computing, 2(4):225 - 331, 1973.
 
16
 
17
 
18
J. Knoop. Optimal Interprocedural Program Optimization: A new Framework and its Application. PhD thesis, Univ. of Kiel, Germany, 1993. LNCS Tutorial 1428, Springer-V., 1998.
19
20
21
22
 
23
 
24
 
25
J. K. F. Lee and A. J. Smith. Branch prediction strategies and branch target buffer design. IEEE Computer Magazine, pages 6- 22, Jan. 1984.
 
26
 
27
28
 
29
L. Lov~sz and M. D. Plummer. Matching theory. Annals o} Discrete Mathematics~ 29, 1986.
 
30
B. Marks. Compilation to compact code. IBM J. Research and Development, 24(6):684- 691, 1980.
31
32
33
34
 
35
O. Riithing. Code motion in the presence of critical edges without bidirectional data flow analysis. Science of Computer Programming. Special issue devoted to the 5th Int. Static Analysis Symposium (SAS'98). To appear. 31 pages.
 
36
O. Riithing. Interacting Code Motion Transformations: Their Impact and Their Complexity. PhD thesis, Univ. of Kiel, Germany, 1997. LNCS 1539, Springer-V., 1998.
 
37
 
38
39
 
40
41


Collaborative Colleagues:
Oliver Rüthing: colleagues
Jens Knoop: colleagues
Bernhard Steffen: colleagues