- PVSM.RU - https://www.pvsm.ru -

Троллейбус из буханки или alias analysis в LLVM

Троллейбус из буханки или alias analysis в LLVM - 1В преддверии очередной конференции C++ Siberia, я решил выложить на всеобщее оборзрение запись доклада [1] с февральской конференции C++ Russia [2], проходившей в городе-герое Санкт-Петербурге.

Зачастую, знакомство с алиасингом в C++ у многих программистов начинается и заканчивается одинаково: -fno-strict-aliasing. На вопросы новичка, более опытные коллеги отвечают в стиле: «не трогай! а то все сломаешь!». Новичок и не трогает.

В докладе была сделана попытка заглянуть под капот компилятора и понять, что же там, внутри. Что такое алиасинг, где он может быть полезен и какие реальные преимущества дает. Тема была рассмотрена и со стороны программиста и со стороны разработчика компилятора. А по сему, вопрос «зачем?» был центральным.

В докладе вы найдете:

  • Код Quake3
  • Магическую константу 0x5F3759DF
  • Много ассемблера
  • Много IR кода LLVM
  • Rust, Java и даже Fortran

Disclaimer

Дело в том, что в самолете меня угораздило капитально простыть, а выступать надо было следующим же утром. Пришлось накачиваться парацетамолом и идти вещать с температурой +38°C. Что было на докладе я осознал уже позже, с удивлением просмотрев это видео.

Поэтому прошу вас концентрироваться на докладе, а не на моей печальной физиономии

Автор: Halt

Источник [3]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/c-3/161460

Ссылки в тексте:

[1] доклада: http://meetingcpp.ru/?page_id=1020

[2] февральской конференции C++ Russia: http://meetingcpp.ru/?page_id=936

[3] Источник: https://habrahabr.ru/post/306294/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best