Function inlining under code size constraints for embedded processors
Rainer Leupers,Peter Marwedel +1 more
- 07 Nov 1999
- pp 253-256
TL;DR: This paper presents a novel approach to function inlining in C compilers for embedded processors, which aims at maximum program speedup under a global limit on code size.
read more
Abstract: Function inlining is a compiler optimization that generally increases performance at the expense of larger code size. However, current inlining techniques do not meet the special demands in the design of embedded systems, since they are based on simple heuristics, and they generate code of unpredictable size. This paper presents a novel approach to function inlining in C compilers for embedded processors, which aims at maximum program speedup under a global limit on code size. The core of this approach is a branch-and-bound algorithm which allows one to quickly explore the large search space. In an application study, we show how this algorithm can be applied to maximize the execution speed of an application under a given code size constraint.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
•Book
Embedded System Design : Embedded Systems Foundations of Cyber-Physical Systems
Peter Marwedel
- 03 Dec 2010
TL;DR: Embedded System Design can be used as a text book for courses on embedded systems and as a source which provides pointers to relevant material in the area for PhD students and teachers.
327
Machine Learning in Compiler Optimization
Zheng Wang,Michael O'Boyle +1 more
- 10 May 2018
TL;DR: In the last decade, machine-learning-based compilation has moved from an obscure research niche to a mainstream activity as discussed by the authors, and the main concepts of features, models, training, and deployment have been introduced.
Eliminating stack overflow by abstract interpretation
TL;DR: In this paper, the authors propose a stack analysis tool that statically guarantees stack safety of interrupt-driven embedded software using an approach based on context-sensitive dataflow analysis of object code.
85
Automatic Tuning of Inlining Heuristics
John Cavazos,Michael O'Boyle +1 more
- 12 Nov 2005
TL;DR: This paper develops a genetic algorithms based approach to automatically tune a dynamic compiler’s internal inlining heuristic and reduces total execution time by 37%% outperforming all existing techniques.
References
•Book
Advanced Compiler Design and Implementation
Steven S. Muchnick
- 01 Jan 1997
TL;DR: Advanced Compiler Design and Implementation by Steven Muchnick Preface to Advanced Topics
2.6K
Storage assignment to decrease code size
TL;DR: This article proves that for the case of a single address register the decision problem is NP-complete, even for a single basic block, and generalizes the problem to multiple address registers.
199
Algorithms for address assignment in DSP code generation
Rainer Leupers,Peter Marwedel +1 more
- 10 Nov 1996
TL;DR: A generic model of DSP address generation units is defined, and efficient heuristics for computing memory layouts for program variables, which optimize utilization of parallel addressgeneration units are presented.
•Book
Building an Optimizing Compiler
Robert Morgan
- 12 Jan 1998
TL;DR: Compiler structure graphs flow graph local optimization alias analysis static single assignment dominator-based optimization advanced techniques global optimization limiting resources scheduling and rescheduling register allocation object module.
143
Storage assignment to decrease code size
Stan Liao,Srinivas Devadas,Kurt Keutzer,Steve Tjiang,Albert Wang +4 more
- 01 Jun 1995
TL;DR: This paper proves that for the case of a single address register the decision problem is NP-complete and generalizes the problem to multiple address registers, and presents a formulation of the problem of optimal storage assignment such that explicit instructions for address arithmetic are minimized.
Related Papers (5)
[...]
Andrew E. Ayers,Richard Schooler,Robert Gottlieb +2 more
- 01 May 1997
Raimund Kirner,Peter Puschner +1 more
- 13 Jun 2001