Explore the complexities of memory models and load-store reordering in programming languages through this 22-minute conference talk from ACM SIGPLAN's FOWM'24. Delve into Stephen Dolan's argument against allowing load-store reordering in language specifications. Examine the challenges in defining "independent" operations and eliminating out-of-thin-air behaviors. Discover how banning load-store reordering could simplify language models and potentially improve single-threaded code optimization. Learn about reasonable program transformations and compiler optimizations that become permissible when load-store reordering is prohibited. Gain insights into the intricate balance between hardware optimizations, compiler behavior, and programmer expectations in language design.
Overview
Syllabus
Introduction
Oldest Answer
Three Reasons
Compilers
Dependencies
Performance
Fake dependencies
Taught by
ACM SIGPLAN