Троллейбус из буханки: алиасинг и векторизация в LLVM

Дмитрий Кашицын
Плюсовод, линуксоид, паяльник-железячник. Последние пять лет занимаюсь только системным программированием. Успел приложить руки к ПО «Навител Навигатор»; занимался вопросами портирования, после — алгоритмами прокладки маршрутов. Сейчас работаю в компании HDSoft (Zodiac Interactive), где занимаюсь разработкой системной части ПО для приставок кабельного и спутникового телевидения. Свободное от работы время трачу на проект компилятора и оптимизирующей виртуальной машины Smalltalk на базе LLVM JIT.

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

Яндекс.Метрика