У нас вы можете посмотреть бесплатно 2021 LLVM Dev Mtg “Byte types, or how to get rid of i8 abuse for chars in LLVM IR” или скачать в максимальном доступном качестве, видео которое было загружено на ютуб. Для загрузки выберите вариант из формы ниже:
Если кнопки скачивания не
загрузились
НАЖМИТЕ ЗДЕСЬ или обновите страницу
Если возникают проблемы со скачиванием видео, пожалуйста напишите в поддержку по адресу внизу
страницы.
Спасибо за использование сервиса ClipSaver.ru
2021 LLVM Developers' Meeting https://llvm.org/devmtg/2021-11/ — Byte types, or how to get rid of i8 abuse for chars in LLVM IR - Juneyoung Lee, Nuno Lopes, George Mitenkov Slides: https://llvm.org/devmtg/2021-11/slide... — LLVM IR does not have a universal union type like C (unsigned char) or C++ (std::byte) have. Instead, integers (in particular, i8, i16, i32, i64) are used which makes it possible for them to carry pointers. Since LLVM’s alias analyses do not take integer operations into account, this can lead to wrong aliasing results. The abuse of integers as universal data containers can also be seen in memory transfer functions optimizations: calls to memcpy, memmove, etc. are sometimes lowered into integer loads/stores of the corresponding bit width and this type punning combined with other LLVM optimizations can lead to miscompilations. In this talk, we present a new byte type for the LLVM IR that can be used as a universal data type and that solves the load type punning problems. We discuss its semantics, engineering efforts to introduce it in LLVM, as well as the performance impact. — Videos Edited by Bash Films: http://www.BashFilms.com