Array Recovery and High-level Transformations for DSP Applications

Research output: Contribution to journalArticlepeer-review


Efficient implementation of DSP applications is critical for many embedded systems. Optimizing compilers for application programs, written in C, largely focus on code generation and scheduling, which, with their growing maturity, are providing diminishing returns. As DSP applications typically make extensive use of pointer arithmetic, the alternative use of high-level, source-to-source, transformations has been largely ignored. This article develops an array recovery technique that automatically converts pointers to arrays, enabling the empirical evaluation of high-level transformations. High-level techniques were applied to the DSPstone benchmarks on three platforms: TriMedia TM-1000, Texas Instruments TMS320C6201, and the Analog Devices SHARC ADSP-21160. On average, the best transformation gave a factor of 2.43 improvement across the platforms. In certain cases, a speedup of 5.48 was found for the SHARC, 7.38 for the TM-1, and 2.3 for the C6201. These preliminary results justify pointer to array conversion and further investigation into the use of high-level techniques for embedded compilers.
Original languageEnglish
Pages (from-to)132-162
Number of pages31
JournalACM Transactions on Embedded Computing Systems
Issue number2
Publication statusPublished - May 2003


  • Pointer conversion, dataflow graphs, embedded processors, high-level transformations

Fingerprint Dive into the research topics of 'Array Recovery and High-level Transformations for DSP Applications'. Together they form a unique fingerprint.

Cite this