Case Studies on Automatic Extraction of Target-Specific Architectural Parameters in Complex Code Generation

  • Yunheung Paek
  • Minwook Ahn
  • Soonho Lee
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2826)


To cope with the highly complex and irregular embedded processor architectures, we employ the two traditionally-known most aggressive and computationally expensive code generation methods. One is integrated code generation where two main subproblems of code generation, instruction selection and register allocation, are simultaneously solved. The other is directed acyclic graph (DAG) covering, not tree covering, for code generation. In principle, unifying these two expensive methods may increase compilation time prohibitively. However often in practice, we have observed that the overall time can be manageably short without degrading the code quality by adding a few heuristics that fully capitalize on specific characteristics of target processor models.


Compilation Time Register Allocation Register Class Embed Processor Target Machine 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Appel, A., Davidson, J., Ramsey, N.: The Zephyr Compiler Infrastructure. Technical report, University of Virginia (1998)Google Scholar
  2. 2.
    Araujo, G., Malik, S.: Code Generation for Fixed-point DSPs. ACM Transactions on Design Automation of Electronic Systems 3(2), 136–161 (1998)CrossRefGoogle Scholar
  3. 3.
    Ertl, M.: Optimal code selection on dags. In: POPL (1999)Google Scholar
  4. 4.
    Faraboschi, P., Desoli, G., Fisher, J.: The latest word in digital and media processing. IEEE Signal Processing Magazine (March 1998)Google Scholar
  5. 5.
    Hanono, S., Devadas, S.: Instruction Selection, Resource Allocation and Scheduling in the AVIV Retargetable Code Generator. In: Design Automation Conference (June 1998)Google Scholar
  6. 6.
    Jung, S., Paek, Y.: The Very Portable Optimizer for Digital Signal Processors. In: International Conference on Compilers, Architectures and Synthesis for Embedded Systems, November 2001, pp. 84–92 (2001)Google Scholar
  7. 7.
    Leupers, R., Marwedel, P.: Instruction Selection for Embedded DSPs with Complex Instructions. In: European Design Automation Conference (September 1996)Google Scholar
  8. 8.
    Liao, S., Keutzer, K., Tjiang, S.: A New Viewpoint on Code Generation for Directed Acyclic Graphs. ACM Transactions on Design Automation of Electronic Systems 3(1), 51–75 (1998)CrossRefGoogle Scholar
  9. 9.
    Paek, Y., Oh, S., Jung, S., Park, D.: Towards Simultaneous Instruction Selection and Register Allocation in DAGs for Embedded Processors. Technical report, Seoul National University (2003)Google Scholar
  10. 10.
    Van Praet, J., Lanner, D., Geurts, W., Goossens, G.: Processor Modeling and Code Selection for Retargetable Compilation. ACM Transactions on Design Automation of Electronic Systems 6(3), 277–307 (2001)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2003

Authors and Affiliations

  • Yunheung Paek
    • 1
  • Minwook Ahn
    • 1
  • Soonho Lee
    • 1
  1. 1.School of Electrical EngineeringSeoul National UniversityKorea

Personalised recommendations