Design of a WCET-Aware C Compiler

This paper presents techniques to integrate worst-case execution time (WCET) data into a compiler. Currently, a tight integration of WCET into compilers is strongly desired, but only some ad-hoc approaches were reported currently. Previous work mainly used self-written WCET estimators with limited functionality and preciseness during compilation. A very tight integration of a high quality WCET analyzer into a compiler was not yet achieved. This work is the first to present such a tight coupling between a compiler and the WCET analyzer aiT. This is done by automatically translating the assembly-like contents of the compiler's low-level format (LLIR) to aiT's exchange format CRL2. Additionally, the results produced by aiT are automatically collected and re-imported into the compiler infrastructure. The work described in this paper is smoothly integrated into a C compiler for the Infineon TriCore processor. It opens up new possibilities for the design of WCET-aware optimizations in the future. The concepts for extending the compiler structure are kept very general so that they are not limited to WCET information. Rather, it is possible to use our concepts also for multi-objective optimization of e. g. best-case execution time (BCET) or energy dissipation

[1]  Rainer Leupers,et al.  Code optimization techniques for embedded processors - methods, algorithms, and tools , 2000 .

[2]  Dr. Rainer Leupers Code Optimization Techniques for Embedded Processors , 2000, Springer US.

[3]  Jakob Engblom,et al.  Worst-Case Execution Time Analysis for Optimized Code , 1997 .

[4]  David B. Whalley,et al.  Timing the WCET of embedded applications , 2004, Proceedings. RTAS 2004. 10th IEEE Real-Time and Embedded Technology and Applications Symposium, 2004..

[5]  Raimund Kirner,et al.  Transformation of path information for WCET analysis during compilation , 2001, Proceedings 13th Euromicro Conference on Real-Time Systems.

[6]  P. Marwedel,et al.  Influence of Onchip Scratchpad Memories on WCET prediction ∗ , 2004 .

[7]  Jan Gustafsson,et al.  Towards a flow analysis for embedded system C programs , 2005, 10th IEEE International Workshop on Object-Oriented Real-Time Dependable Systems.

[8]  H. Borjesson Incorporating Worst Case Execution Time in a Commercial C-compiler , 1996 .

[9]  William C. Kreahling,et al.  Improving WCET by optimizing worst-case paths , 2005, 11th IEEE Real Time and Embedded Technology and Applications Symposium.

[10]  Sang Lyul Min,et al.  A Flexible Tradeoff Between Code Size and WCET Using a Dual Instruction Set Processor , 2004, SCOPES.

[11]  Guillem Bernat,et al.  Compiler Support for WCET Analysis: a Wish List , 2003, WCET.