skip to main content
10.1145/1289816.1289851acmconferencesArticle/Chapter ViewAbstractPublication PagesesweekConference Proceedingsconference-collections
Article

A code-generator generator for multi-output instructions

Published:30 September 2007Publication History

ABSTRACT

We address the problem of instruction selection for Multi-Output Instructions (MOIs), producing more than one result. Such inherently parallel hardware instructions are very common in the area of Application Specific Instruction Set Processors (ASIPs) and Digital Signal Processors (DSPs) which are frequently used in System-on-Chips as programmable cores. In order to provide high-level programmability, and consequently guarantee widespread acceptance, sophisticated compiler support for these programmable cores is of high importance. Since it is not possible to model Multi-Output Instructions as trees in the compiler's Intermediate Representation (IR), traditional approaches for code selection are not sufficient. Extending traditional code-generation approaches for MOI-selection is essentially a graph covering problem, which is known to be NP-complete. We present a new heuristic algorithm incorporated in a retargetable code-generator generator capable of exploiting arbitrary inherently parallel MOIs. We prove the concept by integrating the tool into the LCC compiler which has been targeted towards different Instruction Set Architectures based on the MIPS architecture. Several network applications as well as some DSP benchmarks were compiled and evaluated to obtain results.

References

  1. A. V. Aho, M. Ganapathi, and S. W. K. Tjiang. Code Generation Using Tree Pattern Matching and Dynamic Programing. ACM Transactions on Programming Languages and Systems., 11(4):491--516, Oct. 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. G. Araujo, S. Malik, and M. Lee. Using Register Transfer Paths in Code Generation for Heterogeneous Memory Register Architectures . In Proc. of the Design Automation Conference (DAC), pages 591--596, June 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. C. Fraser and D. Hanson. A Retargetable C Compiler : Design and Implementation. Benjamin/Cummings Publishing Co., 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. N. Clark, A. Hormiri, S. Mahlke, and S. Yehia. Scalable Subgraph Mapping for Acyclic Computation Accelerators. In Proc. of the Conference on Compilers, Architectures and Synthesis for Embedded Systems (CASES), Oct. 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. C. Devine. http://xyssl.org, 2007.Google ScholarGoogle Scholar
  6. E. Eckstein, O. Koening, and B. Scholz. Code Instruction Selection Based on SSA Graphs. In Proc. of the Workshop on Software and Compilers for Embedded Systems (SCOPES), pages 49--65, Oct. 2003.Google ScholarGoogle ScholarCross RefCross Ref
  7. M. A. Ertl. Optimal Code Selection in DAGs . In "Principles of Programming Languages (POPL '99)", 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. C. W. Fraser, D. R. Hanson, and T. A. Proebsting. Engineering Efficient Code Generators Using Tree Matching and Dynamic Programming. Technical Report TR-386-92, 1992.Google ScholarGoogle Scholar
  9. C. W. Fraser, R. R. Henry, and T. A. Proebsting. BURG--fast optimal instruction selection and tree parsing. Technical Report CS-TR-1991-1066, 1991.Google ScholarGoogle Scholar
  10. M. R. Garey and D. S. Johnson. A Guide to the Theory of NP-Completeness. W. H. Freeman & CO, New York, 1990. ISBN:0716710455. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. A. Halambi, P. Grun, V. Ganesh, A. Khare, N. Dutt, and A. Nicolau. EXPRESSION: A Language for Architecture Exploration through Compiler/Simulator Retargetability. In Proc. of the Conference on Design, Automation & Test in Europe (DATE), Mar. 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. A. Hoffmann, H. Meyr, and R. Leupers. Architecture Exploration for Embedded Processors With Lisa. Kluwer Academic Publishers, Jan. 2003. ISBN 1-4020-7338-0. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. K. Karuri, M. A. A. Faruque, S. Kraemer, R. Leupers, G. Ascheid., and H. Meyr. Fine-grained Application Source Code Profiling for ASIP Design . In Proc. of the Design Automation Conference (DAC), pages 329--334, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. K. Keutzer and H. M. et. al. Building ASIPs: The Mescal Methodology. Springer, June 2005. ISBN: 0-387-26057-9. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. R. Leupers and P. Marwedel. Instruction Selection for Embedded DSPs with Complex Instructions. In Proc. of the European Conference on Design Automation (EDAC), Sept 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. S. Liao, S. Devadas, K. Keutzer, and S. Tjiang. Instruction Selection Using Binate Covering for Code Size Optimization. In Proc. of the Int. Conf. on Computer Aided Design (ICCAD), pages 393--399, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. C. Liem, T. May, and P. Paulin. Instruction-set Matching and Selection for DSP and ASIP Code Generation. In Proc. of the European Design and Test Conference (ED & TC), pages 31--37, 1994.Google ScholarGoogle ScholarCross RefCross Ref
  18. M. Willems and V. "Živojnović. DSP-Compiler: Product Quality for Control-Dominated Applications? In Proc. of the Int. Conf. on Signal Processing Applications and Technology (ICSPAT), Oct. 1996.Google ScholarGoogle Scholar
  19. MIPS technologies Inc. MIPS 4Kc Processor Core Datasheet, Jun. 2000.Google ScholarGoogle Scholar
  20. S. Kobayashi, Y. Takeuchi, A. Kitajima, M. Imai. Compiler Generation in PEAS-III: an ASIP Development System. In Workshop on Software and Compilers for Embedded Processors (SCOPES), 2001.Google ScholarGoogle Scholar
  21. S. Sakai, M.Togasaki, and K. Yamazaki. A Note on Greedy Algorithms for the Maximum Weighted Independent Set Problem. Discrete Applied Mathematics, 126:313--322, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. H. Scharwaechter, D. Kammler, A. Wieferink, M. Hohenauer, J. Zeng, K. Karuri, R. Leupers, G. Ascheid, and H. Meyr. ASIP Architecture Exploration for Efficient IPSec Encryption: A Case Study. ACM Transactions on Embedded Computing Systems (TECS), 6(2), Mai 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. S. W. K. Tjiang. An Olive Twig. Technical report, Synopsys Inc., 1993.Google ScholarGoogle Scholar
  24. A. Todd. Least-Cost Instruction Selection in DAGs is NP-Complete . In "http://research.microsoft.com/¿toddpro/papers/proof.htm", Feb. 2007.Google ScholarGoogle Scholar

Index Terms

  1. A code-generator generator for multi-output instructions

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in
      • Published in

        cover image ACM Conferences
        CODES+ISSS '07: Proceedings of the 5th IEEE/ACM international conference on Hardware/software codesign and system synthesis
        September 2007
        284 pages
        ISBN:9781595938244
        DOI:10.1145/1289816

        Copyright © 2007 ACM

        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]

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 30 September 2007

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • Article

        Acceptance Rates

        Overall Acceptance Rate280of864submissions,32%

        Upcoming Conference

        ESWEEK '24
        Twentieth Embedded Systems Week
        September 29 - October 4, 2024
        Raleigh , NC , USA

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader