Overview
Explore GCC and Clang/LLVM compiler optimizations for Embedded Linux development in this comprehensive conference talk. Discover how to boost performance and reduce size on constrained systems through specific command-line options, architecture-specific tunings, and code-writing techniques. Learn to balance power, performance, and size optimizations while focusing primarily on C with some coverage of C++. Gain insights into writing compiler-friendly code, leveraging profile-guided optimization, link-time optimization, and auto-vectorization. Delve into CPU optimizations, builtin functions, and unsupported extensions to enhance your embedded Linux projects across multiple architectures.
Syllabus
Introduction
Clang
GCC
Optimization Flags
Optimization Flags Output
Strictaliasing
Inlining
Stack Optimization
Size Optimization
Profile Guided Optimization
Profile Generate
LTO
AutoVectorization
CPU Optimizations
Builtin Functions
Unsupported Extensions
Summary
Taught by
Linux Foundation