LLVM's Flat-Buffer Tree for IR Dominators: O(1) Reads vs O(n) Moves
Compiler optimization passes live and die on tree traversal. LLVM's dominator analysis alone queries ancestor relationships thousands of times per function. A real C++ translation unit with heavy temp
Modern C++ // dev May 5, 2026 9 min read
Profile-Guided Optimization Made Our Code Slower
That's the whole story. I took a virtual-dispatch interpreter loop — the textbook PGO target — instrumented it, trained it on a representative workload, and recompiled. Both GCC 15.2.1 and Clang 21.1.
Modern C++ // dev Mar 10, 2026 8 min read