Evaluation of Inlining Heuristics in Industrial Strength Compilers for Embedded Systems

University essay from Uppsala universitet/Institutionen för informationsteknologi

Author: Pär Andersson; [2009]

Keywords: ;

Abstract:

Function inlining is a well known compiler optimization where a function call issubstituted with the body of the called function. Since function inlining in general increases the code size one might think that function inlining is a bad idea for embedded systems where a small code size is important. In this thesis we will show that function inlining is a necessary optimization for any industrial strength C/C++ compiler . We show that both the generated code size and execution time of the application can benefit from function inlining. We study and compare the inlining heuristics of 3 different industrial strength compilers for the ARM processor architecture.

We also present a new inlining heuristic which makes inlining decisions based on several different properties. The study shows that the inlining heuristic proposed in this thesis is able to generate both smaller and faster code compared to the other inlining heuristics studied.

  AT THIS PAGE YOU CAN DOWNLOAD THE WHOLE ESSAY. (follow the link to the next page)