skip to main content
Article

Storage assignment optimizations through variable coalescence for embedded processors

Published: 11 June 2003 Publication History

Abstract

Modern 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] categorized this problem as simple offset assignment (SOA) problem and general offset assignment (GOA) problem, which involve storage layout of variables and assignment of address registers respectively proposing heuristic solutions. Later work [6][7] proposed improvements in the performance of Liao's solution by undertaking program and storage transformations that affect access sequence.The algorithms are incorporated into and evaluated on the commercial compiler provided by Motorola to boost code generation performance on the DSP 56k chip. Compared to previous approaches, variable coalescence with program reordering reduces SOA costs by 48% and GOA (2AR) costs by 66% for Mediabench and SPEC benchmarks. Moreover, we show that our approach obtains theoretically optimal solution (zero cost) for the GOA problem in 87% of the cases with just 2 address registers and in 94% of the cases with 3 address registers.

References

[1]
D.Bartley, Optimizing Stack Frame access for processors with restricted addressing Modes, Software - Practice and Experience, 22(2): 101--110. Feb 1992.]]
[2]
S.Liao, et al. Storage assignment to decrease code size, In ACM (PLDI), pp. 186--195, 1995.]]
[3]
S.Liao et al. Storage assignment to decrease code size, ACM Transactions on Programming Languages and Systems, 18(3): 235--253, May 1996.]]
[4]
A. Sudarsanam, S. Malik, S. Tjiang, and S. Liao. Optimization of Embedded DSP Programs Using Post-pass Data-flow Analysis. In Proc. of ICCAD'97, Speech, and Signal Processing. 1997.]]
[5]
A.Sudarsanam, S.Liao, and S. Devadas, Analysis and Evaluation of Address Arithmetic Capabilities in Custom DSP Architectures. In Proc. ACM/IEEE DAC, pp. 287--292, 1997.]]
[6]
A. Rao and S. Pande. Storage Assignment Optimizations to Generate Compact and Efficient Code on Embedded DSPs. In ACM (PLDI), pp.128--138, 1999.]]
[7]
A. Rao Compiler Optimizations for Storage Assignment on Embedded DSPs. Master's thesis, Dept. of ECECS, Univ. of Cincinnati, Oct. 1998.]]
[8]
Motorola, Inc., Motorola DSP56300 Family Optimizing C Compiler User's Manual.]]
[9]
S. S. Muchnick, Advanced Compiler Design and Implementation, Morgan Kaufman, 1997.]]
[10]
R. Leupers and P. Marwedel. Algorithm for Address Assignment in DSP Code Generation, Proc. ICCAD, 1996.]]
[11]
S. Udayanarayanan and C. Chakrabarti. Address code generation for DSPs. In Proc. the 38th Design Automation Conference (DAC), June 2001.]]
[12]
S. Atri, J. Ramanujam, and M. Kandemir. Improving variable placement for embedded processors, In Proc. Languages and Compilers for High-Performance Computing, 2000.]]
[13]
G. Ottoni, S. Rigo, G. Araujo, S. Rajagopalan, S. Malik, "Optimal Live Range Merge for Address Register Allocation in Embedded Programs", International Conference on Compiler Construction (CC01), 2001.]]
[14]
Araujo, G., Sudarsanam, A., and Malik, S. Instruction set design and optimizations for address computation in DSP processors. In 9th International Symposium on Systems Synthesis (November 1996), IEEE, pp. 31--37.]]
[15]
Gebotys, C. DSP address optimization using a minimum cost circulation technique. In Proceedings of the International Conference on Computer-Aided Design (November 1997), IEEE, pp. 100--103.]]
[16]
Leupers, R., Basu, A., and Marwedel, P, "Optimized array index computation in DSP programs", In Proceedings of the ASP-DAC (February 1998), IEEE.]]
[17]
A. V. Aho and R. Sethi, J. D. Ullman, Compilers Principles, Techniques and Tools, Addison-Wesley, Reading, MA, 1986.]]

Cited By

View all
  • (2018)Training-Free Human Vitality Monitoring Using Commodity Wi-Fi DevicesProceedings of the ACM on Interactive, Mobile, Wearable and Ubiquitous Technologies10.1145/32649312:3(1-25)Online publication date: 18-Sep-2018
  • (2017)Power-Temperature Stability and Safety Analysis for Multiprocessor SystemsACM Transactions on Embedded Computing Systems10.1145/312656716:5s(1-19)Online publication date: 27-Sep-2017
  • (2017)SoftRMACM Transactions on Embedded Computing Systems10.1145/312656216:5s(1-19)Online publication date: 27-Sep-2017
  • Show More Cited By

Index Terms

  1. Storage assignment optimizations through variable coalescence for embedded processors

        Recommendations

        Comments

        Information & Contributors

        Information

        Published In

        cover image ACM Conferences
        LCTES '03: Proceedings of the 2003 ACM SIGPLAN conference on Language, compiler, and tool for embedded systems
        June 2003
        304 pages
        ISBN:1581136471
        DOI:10.1145/780732
        • cover image ACM SIGPLAN Notices
          ACM SIGPLAN Notices  Volume 38, Issue 7
          Special Issue: Proceedings of the 2003 ACM SIGPLAN conference on Language, compiler, and tool support for embedded systems (San Diego, CA).
          July 2003
          293 pages
          ISSN:0362-1340
          EISSN:1558-1160
          DOI:10.1145/780731
          Issue’s Table of Contents
        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

        Sponsors

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        Published: 11 June 2003

        Permissions

        Request permissions for this article.

        Check for updates

        Author Tags

        1. GOA
        2. SOA
        3. storage assignment
        4. variable coalescence

        Qualifiers

        • Article

        Conference

        LCTES03
        Sponsor:

        Acceptance Rates

        LCTES '03 Paper Acceptance Rate 29 of 128 submissions, 23%;
        Overall Acceptance Rate 116 of 438 submissions, 26%

        Contributors

        Other Metrics

        Bibliometrics & Citations

        Bibliometrics

        Article Metrics

        • Downloads (Last 12 months)3
        • Downloads (Last 6 weeks)3
        Reflects downloads up to 25 Oct 2024

        Other Metrics

        Citations

        Cited By

        View all
        • (2018)Training-Free Human Vitality Monitoring Using Commodity Wi-Fi DevicesProceedings of the ACM on Interactive, Mobile, Wearable and Ubiquitous Technologies10.1145/32649312:3(1-25)Online publication date: 18-Sep-2018
        • (2017)Power-Temperature Stability and Safety Analysis for Multiprocessor SystemsACM Transactions on Embedded Computing Systems10.1145/312656716:5s(1-19)Online publication date: 27-Sep-2017
        • (2017)SoftRMACM Transactions on Embedded Computing Systems10.1145/312656216:5s(1-19)Online publication date: 27-Sep-2017
        • (2017)CGPredictACM Transactions on Embedded Computing Systems10.1145/312654616:5s(1-22)Online publication date: 27-Sep-2017
        • (2015)CEPRACM Transactions on Intelligent Systems and Technology10.1145/26295576:1(1-27)Online publication date: 20-Apr-2015
        • (2012)An ILP solution to address code generation for embedded applications on digital signal processorsACM Transactions on Design Automation of Electronic Systems10.1145/2209291.220930117:3(1-23)Online publication date: 5-Jul-2012
        • (2012)Storage Optimization through Offset Assignment with Variable CoalescingACM Transactions on Embedded Computing Systems10.1145/2180887.218089311S:1(1-23)Online publication date: 1-Jun-2012
        • (2012)Minimizing address arithmetic instructions in embedded applications on DSPsComputers and Electrical Engineering10.1016/j.compeleceng.2012.06.00338:6(1550-1563)Online publication date: 1-Nov-2012
        • (2011)Closed-loop--based self-adaptive Hardware/Software-Embedded systemsACM Transactions on Embedded Computing Systems10.1145/1952522.195253110:3(1-28)Online publication date: 5-May-2011
        • (2011)Evaluating address register assignment and offset assignment algorithmsACM Transactions on Embedded Computing Systems10.1145/1952522.195253010:3(1-22)Online publication date: 5-May-2011
        • Show More Cited By

        View Options

        Get Access

        Login options

        View options

        PDF

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader

        Media

        Figures

        Other

        Tables

        Share

        Share

        Share this Publication link

        Share on social media