More General Optimal Offset Assignment

Author Sven Mallach

Thumbnail PDF


  • Filesize: 0.7 MB
  • 18 pages

Document Identifiers

Author Details

Sven Mallach
  • Universität zu Köln, Albertus-Magnus-Platz, 50923 Köln, Germany

Cite AsGet BibTex

Sven Mallach. More General Optimal Offset Assignment. In LITES, Volume 2, Issue 1 (2015). Leibniz Transactions on Embedded Systems, Volume 2, Issue 1, pp. 02:1-02:18, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2015)


This manuscript presents exact approaches to the general offset assignment problem arising in the address code generation phase of compilers for application-specific processors. First, integer programming models for architecture-dependent and theoretically motivated special cases of the problem are established. Then, these models are extended to provide the first widely applicable formulations for the most general problem setting, supporting processors with several address registers and complex addressing capabilities. Existing heuristics are similarly extended and practical applicability of the proposed methods is demonstrated by experimental evaluation using an established and large benchmark set. The experiments allow us to study the impact of exploiting more complex memory addressing capabilities on the address computation costs of real-world programs. We also show how to integrate operand reordering techniques for commutative instructions into existing solution approaches.

Subject Classification

ACM Subject Classification
  • Mathematics of computing → Integer programming
  • Theory of computation → Integer programming
  • Mathematics of computing → Combinatorial optimization
  • Compiler optimization
  • Application-specific processors
  • Address code generation
  • Offset assignment
  • Integer programming


  • Access Statistics
  • Total Accesses (updated on a weekly basis)
    PDF Downloads


  1. Sunil Atri, Jagannathan Ramanujam, and Mahmut T. Kandemir. Improving offset assignment on embedded processors using transformations. In Mateo Valero, Viktor K. Prasanna, and Sriram Vajapeyam, editors, Proc. of the 7th International Conference on High Performance Computing (HiPC'00), Bangalore, India, December 17-20, 2000, volume 1970 of Lecture Notes in Computer Science, pages 367-374. Springer, 2000. URL:
  2. David H. Bartley. Optimizing stack frame accesses for processors with restricted addressing modes. Softw., Pract. Exper., 22(2):101-110, 1992. URL:
  3. Rainer E. Burkard, Mauro Dell'Amico, and Silvano Martello. Assignment Problems. SIAM, 2009. URL:
  4. Yoonseo Choi and Taewhan Kim. Address assignment combined with scheduling in DSP code generation. In Proc. of the 39th Design Automation Conference (DAC'02), New Orleans, LA, USA, June 10-14, 2002, pages 225-230. ACM, 2002. URL:
  5. George B. Dantzig, David R. Fulkerson, and Selmer M. Johnson. Solution of a large-scale traveling-salesman problem. Operations Research, 3:393-410, 1954. Google Scholar
  6. Balázs Dezso, Alpár Jüttner, and Péter Kovács. LEMON - an open source C++ graph template library. Electr. Notes Theor. Comput. Sci., 264(5):23-45, 2011. URL:
  7. Catherine H. Gebotys. DSP address optimization using a minimum cost circulation technique. In Ralph H. J. M. Otten and Hiroto Yasuura, editors, Proc. of the 1997 IEEE/ACM International Conference on Computer-Aided Design (ICCAD'97), San Jose, CA, USA, November 9-13, 1997, pages 100-103. IEEE Computer Society / ACM, 1997. URL:
  8. Catherine H. Gebotys. A minimum-cost circulation approach to DSP address-code generation. IEEE Trans. on CAD of Integrated Circuits and Systems, 18(6):726-741, 1999. URL:
  9. Johnny Huynh, José Nelson Amaral, Paul Berube, and Sid Ahmed Ali Touati. Evaluating address register assignment and offset assignment algorithms. ACM Trans. Embedded Comput. Syst., 10(3):37, 2011. URL:
  10. IBM. IBM ILOG CPLEX Optimization Studio Version 12.6, 2013. Google Scholar
  11. Michael Jünger and Sven Mallach. Solving the simple offset assignment problem as a traveling salesman. In Henk Corporaal and Sander Stuijk, editors, Proc. of the International Workshop on Software and Compilers for Embedded Systems (M-SCOPES'13), Sankt Goar, Germany, June 19-21, 2013, pages 31-39. ACM, 2013. URL:
  12. Zoltán Király and Péter Kovács. Efficient implementations of minimum-cost flow algorithms. Acta Universitatis Sapientiae, Informatica, 4(1):67-118, 2012. URL:
  13. Eugene Lawler. Combinatorial Optimization: Networks and Matroids. Holt, Rinehart and Winston, 1976. Google Scholar
  14. Rainer Leupers. Offset assignment showdown: Evaluation of DSP address code optimization algorithms. In Görel Hedin, editor, Proc. of the 12th International Conference on Compiler Construction (CC'03), held as Part of the Joint European Conferences on Theory and Practice of Software (ETAPS'03), Warsaw, Poland, April 7-11, 2003, volume 2622 of Lecture Notes in Computer Science, pages 290-302. Springer, 2003. URL:
  15. Rainer Leupers and Fabian David. A uniform optimization technique for offset assignment problems. In Francky Catthoor, editor, Proc. of the 11th International Symposium on System Synthesis (ISSS'98), Hsinchu, Taiwan, December 2-4, 1998, pages 3-8. ACM / IEEE Computer Society, 1998. URL:
  16. Rainer Leupers and Peter Marwedel. Algorithms for address assignment in DSP code generation. In Proc. of the 1996 IEEE/ACM International Conference on Computer-Aided Design (ICCAD'96), pages 109-112, 1996. URL:
  17. Stan Yi-Huang Liao. Code generation and optimization for embedded digital signal processors. PhD thesis, Massachusetts Institute of Technology, 1996. URL:
  18. Sven Mallach and Roberto Castañeda Lozano. Optimal general offset assignment. In Henk Corporaal and Sander Stuijk, editors, Proc. of the 17th International Workshop on Software and Compilers for Embedded Systems (SCOPES'14), Sankt Goar, Germany, June 10-11, 2014, pages 50-59. ACM, 2014. URL:
  19. Garth P. McCormick. Computability of global solutions to factorable nonconvex programs: Part I - convex underestimating problems. Mathematical Programming, 10(1):147-175, 1976. URL:
  20. Ozcan Ozturk, Mahmut T. Kandemir, and Suleyman Tosun. An ILP based approach to address code generation for digital signal processors. In Gang Qu, Yehea I. Ismail, Narayanan Vijaykrishnan, and Hai Zhou, editors, Proc. of the 16th ACM Great Lakes Symposium on VLSI (GLSVLSI'06), Philadelphia, PA, USA, April 30 - May 1, 2006, pages 37-42. ACM, 2006. URL:
  21. Manfred Padberg and Giovanni Rinaldi. A branch-and-cut algorithm for the resolution of large-scale symmetric traveling salesman problems. SIAM Rev., 33(1):60-100, 2 1991. URL:
  22. Manfred W. Padberg and Mendu R. Rao. Odd minimum cut-sets and b-matchings. Mathematics of Operations Research, 7(1):67-80, 1982. URL:
  23. Amit Rao and Santosh Pande. Storage assignment optimizations to generate compact and efficient code on embedded dsps. In Barbara G. Ryder and Benjamin G. Zorn, editors, Proc. of the 1999 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI'99), Atlanta, Georgia, USA, May 1-4, 1999, pages 128-138. ACM, 1999. URL:
  24. Nobuhiko Sugino, Satoshi Iimuro, Akinori Nishihara, and Nobuo Fujii. DSP code optimization utilizing memory addressing operation. IEICE Transactions on Fundam. of Electr., Commu. and Comp. Sc., 79(8):1217-1224, 1996. Google Scholar
  25. Bernhard Wess and Martin Gotschlich. Optimal DSP memory layout generation as a quadratic assignment problem. In Proc. of the 1997 IEEE International Symposium on Circuits and Systems (ISCAS'97), volume 3, pages 1712-1715, Jun 1997. URL:
Questions / Remarks / Feedback

Feedback for Dagstuhl Publishing

Thanks for your feedback!

Feedback submitted

Could not send message

Please try again later or send an E-mail