Advertisement

Optimal Integrated VLIW Code Generation with Integer Linear Programming

  • Andrzej Bednarski
  • Christoph Kessler
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4128)

Abstract

We give an Integer Linear Programming (ILP) solution that fully integrates all steps of code generation, i.e. instruction selection, register allocation and instruction scheduling, on the basic block level for VLIW processors.

In earlier work, we contributed a dynamic programming (DP) based method for optimal integrated code generation, implemented in our retargetable code generator OPTIMIST. In this paper we give first results to evaluate and compare our ILP formulation with our DP method on a VLIW processor. We also demonstrate how to precondition the ILP model by a heuristic relaxation of the DP method to improve ILP optimization time.

Keywords

Dynamic Programming Integer Linear Programming Clock Cycle Basic Block Integer Linear Programming Model 
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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Bednarski, A.: Integrated Optimal Code Generation for Digital Signal Processors. PhD thesis, Linköpings universitet, Linköping, Sweden (June 2006)Google Scholar
  2. 2.
    Chang, C.-M., Chen, C.-M., King, C.-T.: Using integer linear programming for instruction scheduling and register allocation in multi-issue processors. Computers Mathematics and Applications 34(9), 1–14 (1997)MATHCrossRefMathSciNetGoogle Scholar
  3. 3.
    Davidson, E.S., Shar, L.E., Thomas, A.T., Patel, J.H.: Effective control for pipelined computers. In: Proc. Spring COMPCON 1975 Digest of Papers, February 1975, pp. 181–184. IEEE Computer Society Press, Los Alamitos (1975)Google Scholar
  4. 4.
    Fraser, C.W., Hanson, D.R.: A Retargetable C Compiler: Design and Implementation. Addison-Wesley Publishing Company, Reading (1995)MATHGoogle Scholar
  5. 5.
    Gebotys, C.H., Elmasry, M.I.: Simultaneous scheduling and allocation for cost constrained optimal architectural synthesis. In: DAC 1991: Proceedings of the 28th conference on ACM/IEEE design automation, pp. 2–7. ACM Press, New York (1991)CrossRefGoogle Scholar
  6. 6.
    I. Inc. CPLEX homepage (2005), http://www.ilog.com/products/cplex/
  7. 7.
    Kästner, D.: Retargetable Postpass Optimisations by Integer Linear Programming. PhD thesis, Universität des Saarlandes, Saarbrücken, Germany (2000)Google Scholar
  8. 8.
    Kessler, C., Bednarski, A.: Optimal integrated code generation for VLIW architectures. In: Concurrency and Computation: Practice and Experience (to appear, 2006)Google Scholar
  9. 9.
    Kessler, C., Bednarski, A.: OPTIMIST (2005), www.ida.liu.se/~chrke/optimist
  10. 10.
    Leupers, R., Marwedel, P.: Time-constrained code compaction for DSPs. IEEE Transactions on VLSI Systems 5(1), 112–122 (1997)CrossRefGoogle Scholar
  11. 11.
    Muchnick, S.S.: Advanced Compiler Design and Implementation. Morgan Kaufmann, San Francisco (1997)Google Scholar
  12. 12.
    Wilken, K., Liu, J., Heffernan, M.: Optimal instruction scheduling using integer programming. In: Proc. ACM SIGPLAN Conf. Programming Language Design and Implementation, pp. 121–133 (2000)Google Scholar
  13. 13.
    Wilson, T., Grewal, G., Halley, B., Banerji, D.: An integrated approach to retargetable code generation. In: Proc. 7th international symposium on High-level synthesis (ISSS 1994), pp. 70–75. IEEE Computer Society Press, Los Alamitos (1994)CrossRefGoogle Scholar
  14. 14.
    Wilson, T.C., Mukherjee, N., Garg, M., Banerji, D.K.: An integrated and accelerated ILP solution for scheduling, module allocation, and binding in datapath synthesis. In: The Sixth Int. Conference on VLSI Design, January 1993, pp. 192–197 (1993)Google Scholar
  15. 15.
    Winkel, S.: Optimal Global Instruction Scheduling for the Itanium® Processor Architecture. PhD thesis, Universität des Saarlandes, Saarbrücken, Germany (September 2004)Google Scholar
  16. 16.
    Zhang, L.: SILP. Scheduling and Allocating with Integer Linear Programming. PhD thesis, Technische Fakultät der Universität des Saarlandes, Saarbrücken (Germany) (1996)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Andrzej Bednarski
    • 1
  • Christoph Kessler
    • 1
  1. 1.PELAB, Department of Computer and Information ScienceLinköpings universitetLinköpingSweden

Personalised recommendations