Захар Матвеев, Роман Беленов — LLVM: от дизассемблера к моделированию производительности

Подробнее о конференции C++ Russia:
— — Скачать презентацию с сайта C++ Russia —
Все знают о том, что LLVM нужна тем, кто пишет свой компилятор, но не все догадываются, что ее можно эффективно использовать в других областях, таких как динамическая профилировка или моделирование микроархитектуры процессора. Спикеры рассказали об устройстве LLVM (это, в первую очередь, набор строительных блоков и переиспользуемых библиотек) и показали, как использовать в своих целях. Быстро прошлись по простым случаям (например, дизассемблирование бинарника), показали вариант посложнее (построение CFG). Рассказали про анализаторы кода, почему LLVM — естественная база для построения такого инструмента, что уже есть в библиотеке и чего не хватает. Также рассказали о нюансах переиспользования и модификации для своих нужд на основе опыта разработки инструмента динамической профилировки приложений на C/C++ и даже на Java.

Смотрите также