WCET-driven, code-size critical procedure cloning

  • Authors:
  • Paul Lokuciejewski;Heiko Falk;Peter Marwedel;Henrik Theiling

  • Affiliations:
  • Dortmund University of Technology, Dortmund, Germany;Dortmund University of Technology, Dortmund, Germany;Dortmund University of Technology, Dortmund, Germany;AbsInt Angewandte Informatik GmbH, Saarbrücken

  • Venue:
  • SCOPES '08 Proceedings of the 11th international workshop on Software & compilers for embedded systems
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

In the domain of the worst-case execution time (WCET) analysis, loops are an inherent source of unpredictability and loss of precision since the determination of tight and safe information on the number of loop iterations is a difficult task. In particular, data-dependent loops whose iteration counts depend on function parameters can not be precisely handled by a timing analysis. Procedure Cloning can be exploited to make these loops explicit within the source code allowing a highly precise WCET analysis. In this paper we extend the standard Procedure Cloning optimization by WCET-aware concepts with the objective to improve the tightness of the WCET estimation. Our novel approach is driven by WCET information which successively eliminates code structures leading to overestimated timing results, thus making the code more suitable for the analysis. In addition, the code size increase during the optimization is monitored and large increases are avoided. The effectiveness of our optimization is shown by tests on real-world benchmarks. After performing our optimization, the estimated WCET is reduced by up to 64.2% while the employed code transformations yield an additional code size increase of 22.6% on average. In contrast, the average-case performance being the original objective of Procedure Cloning showed a slight decrease.