Download presentation
Presentation is loading. Please wait.
1
High-Level Optimizations for Low-Level Software John Regehr University of Utah
2
Embedded Systems Most new microprocessors are embedded Consumer electronics Vehicle control systems Medical equipment Sensor networks
3
Compilers can make stupid code run fast To a limited extent! This work: Help stupid embedded code run fast and use less memory Coarse-grain program transformations Explicit support for tradeoffs
4
Strategy Integrate analysis and transformation tools Not hacking the compiler Common analysis result formats Callgraph Task/thread decomposition Exclusive modes
5
Reducing Stack Depth [EMSOFT 2003] C compiler (source) stack analyzer (binary) whole program inliner (source) search heuristic
6
Result Averaged over a bunch of TinyOS kernels… 60% reduction in stack requirements compared to no inlining 32% reduction compared to whole- program inlining not aimed at reducing stack depth
7
Research Challenges Maintaining invariants Transformations will invalidate some analysis results Avoiding bloat in the trusted computing base Embedded developers have a hard time trusting just the compiler
8
More info here: http://www.cs.utah.edu/~regehr/
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.