O C E A N S  
Edinburgh University Crest
Department of Computer Science, University of Edinburgh

Optimising Compilers for Embedded Applications

Summary

OCEANS is a 2 year LTR project funded by the EC under Framework IV. The goal of the OCEANS project is to investigate and develop state-of-the-art compilation techniques to allow high performance implementations of embedded applications. In such applications, long compilation times can be afforded as each embedded processor will usually execute a limited number of applications throughout its lifetime. This makes it feasible to use more aggressive compilation techniques than previously considered.

Within the OCEANS project, we intend to meet the following objectives:

High-Level Optimizations Objectives:
  • We aim to develop high-level restructuring transformations for the exploitation of VLIW processors. These transformations are primarily designed to enable successful later low-level exploitation of fine-grain parallelism. The strategy, or sequence of transformations, employed will be based on a cost model of the processor and will be guided by feedback from other stages.
  • Low-Level Optimizations Objectives
  • We intend to develop low-level restructuring techniques, concentrating on a highly retargetable object code scheduler that includes optimizing techniques suited for embedded applications and VLIW architectures. This is achieved through a multifunction testbed tool which can manipulate assembler code in order to implement low-level code restructuring as well as to provide the high-level code restructurer with information collected from the assembler code and from instruction profiling.
  • Integration Objectives
  • We intend to integrate the above into a prototype system based on iterative compilation, where a close interaction between the high and low-level exists. The validation and the evaluation of the efficiency of this approach will be carried out in close collaboration with the industrial validator, the compiler technology group at Philips Research. The main back-end target for this project is the Philips TriMedia (TM-1) processor. The objective is to show that this approach yields more efficient code for this particular processor, eventually as optimal as hand-optimized code, while cutting down the code development time considerably.


  • CSG Homepage