2014, Нис Зиновий, Обзор возможностей LLVM для создания трансляторов, компиляторов, оптимизаторов (слайды)
http://academy.hpc-russia.ru/files/msu-llvm-lecture.pdf
Отредактировано Лис (2017-01-04 08:58:54)
Ремесло программиста |
Привет, Гость! Войдите или зарегистрируйтесь.
Вы здесь » Ремесло программиста » Нерусские компиляторы » LLVM
2014, Нис Зиновий, Обзор возможностей LLVM для создания трансляторов, компиляторов, оптимизаторов (слайды)
http://academy.hpc-russia.ru/files/msu-llvm-lecture.pdf
Отредактировано Лис (2017-01-04 08:58:54)
судя по описанию - это очень крутая штука.
мне понравилось из описания то что проект начался почти на 15 лет позже но спокойно бросает вызов динозавру gcc
шлепком так же стало то что проект имеет более свободную лицензию
ну и список того кем и что написано на LLVM - достаточно внушительный
судя по описанию - это очень крутая штука.
Ну вот есть выбор - либо писать компилятор в инструкции x86_64 и самому писать оптимизации,
либо компилировать в IR от llvm, как это сделали в Кумире и получать нативные бинарники под все платформы с оптимизацией от llvm
В GCC то же самое называется Register Transfer Language (RTL).
Фактически основанием для создания LLVM назван переход с технологии C на C++.
Но на C++ всё не закончилось...
Java - bytecode
CLR - IL (intermediate language)
Вот список где ещё есть что-то похожее:
https://en.wikipedia.org/wiki/Intermedi … esentation
Rust - HIR, MIR ( https://blog.rust-lang.org/2016/04/19/MIR.html )
А вот питон приземляют на llvm - http://numba.pydata.org/numba-doc/0.13/ir.html:
(Вообще говоря, с точки зрения русскоязычности выбора нет - надо всё переписывать, включая оптимизатор)
Вы здесь » Ремесло программиста » Нерусские компиляторы » LLVM