liu.seSearch for publications in DiVA
Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • oxford
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
A Dynamic Programming Approach to Optimal Integrated Code Generation
Linköping University, The Institute of Technology. Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory.ORCID iD: 0000-0001-5241-0026
Linköping University, The Institute of Technology. Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory.
2001 (English)In: ACM SIGPLAN Workshop on Languages, Compilers, and Tools for Embedded Systems LCTES2001,2001, New York, USA: ACM , 2001, p. 165-174Conference paper, Published paper (Refereed)
Abstract [en]

Phase-decoupled methods for code generation are the state of the art in compilers for standard processors but generally produce code of poor quality for irregular target architectures such as many DSPs. In that case, the generation of efficient code requires the simultaneous solution of the main subproblems instruction selection, instruction scheduling, and register allocation, as an integrated optimization problem. In contrast to compilers for standard processors, code generation for DSPs can afford to spend much higher resources in time and space on optimizations. Today, most approaches to optimal code generation are based on integer linear programming, but these are either not integrated or not able to produce optimal solutions except for very small problem instances. We report on research in progress on a novel method for fully integrated code generation that is based on dynamic programming. In particular, we introduce the concept of a time profile. We focus on the basic block level where the data dependences among the instructions form a DAG. Our algorithm aims at combining time-optimal scheduling with optimal instruction selection, given a limited number of general-purpose registers. An extension for irregular register sets, spilling of register contents, and intricate structural constraints on code compaction based on register usage is currently under development, as well as a generalization for global code generation. A prototype implementation is operational, and we present first experimental results that show that our algorithm is practical also for medium-size problem instances. Our implementation is intended to become the core of a future, retargetable code generation system.

Place, publisher, year, edition, pages
New York, USA: ACM , 2001. p. 165-174
Keywords [en]
compiler technology, integrated code generation, dynamic programming
National Category
Computer Sciences
Identifiers
URN: urn:nbn:se:liu:diva-43707DOI: 10.1145/384197.384219Local ID: 74575ISBN: 1-58113-426-6 (print)OAI: oai:DiVA.org:liu-43707DiVA, id: diva2:264567
Conference
2001 ACM SIGPLAN workshop on Optimization of middleware and distributed systems, June 18 2001, Snowbird, Utah, USA
Available from: 2009-10-10 Created: 2009-10-10 Last updated: 2018-01-12

Open Access in DiVA

No full text in DiVA

Other links

Publisher's full text

Authority records

Kessler, ChristophBednarski, Andrzej

Search in DiVA

By author/editor
Kessler, ChristophBednarski, Andrzej
By organisation
The Institute of TechnologyPELAB - Programming Environment Laboratory
Computer Sciences

Search outside of DiVA

GoogleGoogle Scholar

doi
isbn
urn-nbn

Altmetric score

doi
isbn
urn-nbn
Total: 119 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • oxford
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf