z-logo
open-access-imgOpen Access
Advanced copy propagation for arrays
Author(s) -
Karolien Vanbroekhoven,
Gerda Janssens,
Maurice Bruynooghe,
Henk Corporaal,
Francky Catthoor
Publication year - 2003
Publication title -
acm sigplan notices
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.31
H-Index - 99
eISSN - 1558-1160
pISSN - 0362-1340
DOI - 10.1145/780731.780736
Subject(s) - computer science , statement (logic) , code (set theory) , focus (optics) , transformation (genetics) , programming language , theoretical computer science , loop (graph theory) , parallel computing , algorithm , biochemistry , chemistry , physics , mathematics , set (abstract data type) , optics , combinatorics , political science , law , gene
The focus of this paper is on a data flow-transformation called advanced copy propagation. After an array is assigned, we can, under certain conditions, replace a read from this array by the righthand side of the assignment. If so, the intermediate assignment can be skipped. In case it becomes dead code, it can be eliminated. Where necessary we distinguish between the different elements of arrays as well as the different runtime instances of statements, allowing us to do propagation over global loop and condition scopes. We have formalized two basic operations: non-recursive propagation that operates on two statements and recursive propagation that operates on one statement. A global algorithm uses these two operations to do propagation on code involving any number of statements. Running our prototype implementation on some multimedia kernels shows that we can get a decrease in memory acesses between 22% and 43%.

The content you want is available to Zendy users.

Already have an account? Click here to sign in.
Having issues? You can contact us here
Accelerating Research

Address

John Eccles House
Robert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom