This talk will present how a so-called C++ zero-cost abstraction can prevent an optimizing modern compiler to vectorize a trivial loop. It will be used as a pretext to present some of Clang and LLVM internals, so that the root cause of this missing optimisation can be found, fixed and/or reported back to the compiler developers.
The overall goal is to give more insight to C++ developers about what's going on with their compilers!