[177000]
Title: Control Flow driven Code Hoisting at the Source Code Level. <em>In Proceedings of the 3rd Workshop on Optimizations for DSP and Embedded Systems (ODES)</em>
Written by: Heiko Falk
in: March (2005).
Volume: Number:
on pages:
Chapter:
Editor:
Publisher:
Series: 20050320-odes-falk.pdf
Address: San Jose / United States
Edition:
ISBN:
how published: 05-65 Falk05 ODES
Organization:
School:
Institution:
Type:
DOI:
URL:
ARXIVID:
PMID:

Note: hfalk, ESD

Abstract: This paper presents a novel source code optimization technique called advanced code hoisting. It aims at moving portions of code from inner loops to outer ones. In contrast to existing code motion techniques, this is done under consideration of control flow aspects. Depending on the conditions of if-statements, moving an expression can lead to an increased number of executions of this expression. This paper contains formal descriptions of the polyhedral models used for control flow analysis so as to suppress a code motion in such a situation. Due to the inherent portability of source code transformations, a very detailed benchmarking using 8 different processors was performed. The application of our implemented techniques to real-life multimedia benchmarks leads to average speed-ups of 25.5% - 52% and energy savings of 33.4% - 74.5%. Furthermore, advanced code hoisting leads to improved pipeline and cache behavior and smaller code sizes.