Макс Казанцев — Как компиляторы на основе LLVM моделируют неопределенное поведение, извлекая пользу
Подробнее о конференции C++ Russia: https://jrg.su/9Sszhd — — Скачать презентацию с сайта C++ Russia — https://jrg.su/U7zUcT Все знают, что в С++ некоторые конструкции ведут к неопределенному поведению программы (UB). Многие догадываются, что благодаря этому компиляторы могут лучше оптимизировать код. Но немногие знают, как именно компиляторы моделируют работу с неопределенным поведением, и как устроены оптимизации на их основе. Спикер рассказал о том, как компиляторы на основе LLVM, такие как Clang, решали проблему представления неопределенного поведения в своем IR. В докладе вы познакомитесь с понятием отложенного UB, из-за которого опасный код не взрывается сразу, и увидите, как LLVM с ним работает. Как было раньше и как стало сейчас, как от этого выигрывает оптимизатор, и какие опасности подстерегают тех, кто недостаточно осторожен с конструкциями, которые могут производить UB.
Название:
Макс Казанцев — Как компиляторы на основе LLVM моделируют неопределенное поведение, извлекая пользу
Категория:
Разное