ABSTRACT
DSPs are typically equipped with indirect addressing modes with auto-increment and auto-decrement, which provide efficient address arithmetic calculations. Such an addressing mode is maximally utilized by careful placement of variables in storage, thereby reducing the amount of address arithmetic instructions. Finding proper placement of variables in storage is called storage assignment problem and the result highly depends on the access sequence of variables. This paper suggests statement scheduling as a compiler optimization step to generate a better access sequence. Experimental results show 3.6% improvement on the average over naive storage assignment.
- 1.D.H. Bartley, "Optimizing stack frame accesses for processors with restricted addressing modes," Software Practice and Experience, vol. 22 (2), 1992 Google ScholarDigital Library
- 2.SPAM Compiler Users Manual, SPAM Research group, Princeton University, 1997Google Scholar
- 3.S. Liao, S. Devadas, K. Keutzer, S. Tjiang, and A. Wang, "Storage assignment to decrease code size," ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), 1995 Google ScholarDigital Library
- 4.R. Leupers and P. Marwedel, "Algorithms for address assignment in DSP code generation," Int. Conference on Computer-Aided Design (ICCAD), 1996 Google ScholarDigital Library
- 5.A. Ran and S. Pande, "Storage assignment using expression tree transformations to generate compact and efficient DSP code," ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), 1999Google Scholar
- 6.Steven S. Muchnick, Advanced Compiler Design and Implementation, Morgan Kaufmann Publishers, 1997 Google ScholarDigital Library
- 7.R. Leupers, Code Optimization Techniques for Embedded Processors, Kluwer Academic Publishers, 2000 Google ScholarDigital Library
Index Terms
- Scheduling-based code size reduction in processors with indirect addressing mode
Recommendations
Compiler Support for Code Size Reduction Using a Queue-Based Processor
Transactions on High-Performance Embedded Architectures and Compilers IIQueue computing delivers an attractive alternative for embedded systems. The main features of a queue-based processor are a dense instruction set, high-parallelism capabilities, and low hardware complexity. This paper presents the design of a code ...
Storage assignment optimizations through variable coalescence for embedded processors
LCTES '03: Proceedings of the 2003 ACM SIGPLAN conference on Language, compiler, and tool for embedded systemsModern embedded processors with dedicated address generation unit support memory access with indirect addressing mode with auto-increment and decrement. The auto-increment/decrement mode saves address arithmetic instructions.Liao et al [2][3] ...
Compilation framework for code size reduction using reduced bit-width ISAs (rISAs)
For many embedded applications, program code size is a critical design factor. One promising approach for reducing code size is to employ a “dual instruction set”, where processor architectures support a normal (usually 32-bit) Instruction Set, and a ...
Comments