Skip to content

Latest commit

 

History

History
9 lines (6 loc) · 367 Bytes

optimize.md

File metadata and controls

9 lines (6 loc) · 367 Bytes

(Mis)Optimization

Surprise: Enabling optimizations (--release) optimizes away our whole program!

Solution:

  • Split program into a library to avoid the aggressive pre-linking removal of symbols.
  • Use volatile loads/stores to prevent the compiler from optimizing away/coalescing memory accesses.
  • Add linker script assertions to avoid future misoptimizations.