Towards Understanding the Costs of Avoiding Out-of-Thin-Air Results
summary
Paper implements two concrete fixes in LLVM and measures cost on ARMv8 Cortex‑A72 hardware. One enforces load/store ordering for atomics by adding fences or bogus branches and runs 43 concurrent C++ data‑structure workloads with no average overhead and up to 6.3% worst case. The other enforces dependency‑preserving semantics by auditing IR and backend passes, evaluates on SPEC CPU2006, and shows ~3.1% average slowdown and up to 17.6% peak.
AI-written summary · about
chapters (5)
- 0:00Start
- 3:53Causality Cycle
- 8:22Preserve Dependencies at the Ir Level
- 11:36Partial Optimization
- 14:37Preserve Load Store Ordering for Atomic Operations
related talks
01h 11mProgramming language memory models: Problems, solutions, and directions
17mUnlocking 15% More Performance: A Case Study in LLVM Optimization for RISC-V
19mExploiting Undefined Behavior in C/C++ Programs for Optimization: A Study on the(…)
16mReconciling Optimization With Secure Compilation
17mRecent Developments in Optimizing Compilers for RISC-V
20mRelaxing Alias Analysis: Exploring the Unexplored Space
27mCompiler Support for Control-Flow Linearization Using Architectural Mimicry
20mTowards Removing Undef Values from LLVM IR
