COMPILE-TIME COPY ELIMINATION

Citation
P. Schnorf et al., COMPILE-TIME COPY ELIMINATION, Software, practice & experience, 23(11), 1993, pp. 1175-1200
Citations number
15
Categorie Soggetti
Computer Sciences","Computer Applications & Cybernetics
ISSN journal
00380644
Volume
23
Issue
11
Year of publication
1993
Pages
1175 - 1200
Database
ISI
SICI code
0038-0644(1993)23:11<1175:CCE>2.0.ZU;2-O
Abstract
Single-assignment and functional languages have value semantics that d o not permit side-effects. This lack of side-effects makes automatic d etection of parallelism and optimization for data locality in programs much easier. However, the same property poses a challenge in implemen ting these languages efficiently. This paper describes an optimizing c ompiler system that solves the key problem of aggregate copy eliminati on. The methods developed rely exclusively on compile-time algorithms, including interprocedural analysis, that are applied to an intermedia te data flow representation. By dividing the problem into update-in-pl ace and build-in-place analysis, a small set of relatively simple tech niques edge substitution, graph pattern matching, substructure sharing and substructure targeting-was found to be very powerful. If combined properly and implemented carefully, the algorithms eliminate unnecess ary copy operations to a very high degree. No run-time overhead is imp osed on the compiled programs.