#видеозаписи #плюсочетверг
В C++ модель алиасинга формируется сразу несколькими слоями:
1) strict aliasing,
2) оптимизационные модели компиляторов (TBAA, noalias, alias scopes),
3) нестандартные расширения компиляторов, такие как __restrict.
Доклад, который мы открываем сегодня — о том, как компиляторы (GCC, Clang, MSVC) принимают решения об алиасинге и что может сделать программист, чтобы сделать свой код более быстрым и, что также важно, безопасным.
Отдельное внимание спикер уделил современным обсуждениям в стандарте C++ (restrict-like семантика, alias sets, свойства доступа для span/mdspan, pointer provenance), в докладе разобраны примеры кода на C++23, выдержки из последнего стандарта C++, а также фрагменты LLVM IR для объяснения работы оптимизатора.
Владислав Белов — Алиасинг памяти в C++: прошлое, настоящее и будущее
😉 YouTube | 📺 VK Видео
Post #832
707