Addressing optimization for loop execution targeting DSP with auto-increment/decrement architecture

Since most DSP applications access large amount of data stored in the memory, a DSP code generator must minimize the addressing overhead. In this paper, we propose a method for addressing optimization in loop execution targeted toward DSP processors with auto-increment/decrement feature in their address generation unit. Our optimization methods include a multi-phase data ordering and a graph-based address register allocation. The proposed approaches have been evaluated using a set of core algorithms targeted towards the TI TMS320C40 DSP processor. Experimental results show that our system is indeed more effective compared to a commercial optimizing DSP compiler.

[1]  Sharad Malik,et al.  Instruction set design and optimizations for address computation in DSP architectures , 1996, Proceedings of 9th International Symposium on Systems Synthesis.

[2]  Ahmed Amine Jerraya,et al.  Address calculation for retargetable compilation and exploration of instruction-set architectures , 1996, DAC '96.

[3]  Nobuo Fujii,et al.  Code optimization method utilizing memory addressing operation and its application to DSP compiler , 1994, Proceedings of APCCAS'94 - 1994 Asia Pacific Conference on Circuits and Systems.

[4]  Kurt Keutzer,et al.  Storage assignment to decrease code size , 1996, TOPL.

[5]  Rainer Leupers,et al.  Optimized array index computation in DSP programs , 1998, Proceedings of 1998 Asia and South Pacific Design Automation Conference.

[6]  Srinivas Devadas,et al.  Analysis and Evaluation of Address Arithmetic Capabilities in Custom DSP Architectures , 1999, Des. Autom. Embed. Syst..

[7]  Youn-Long Lin,et al.  A Transformation-Based Approach for Storage Optimization , 1995, 32nd Design Automation Conference.

[8]  Rainer Leupers,et al.  Algorithms for address assignment in DSP code generation , 1996, ICCAD 1996.