Ремесло программиста

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.



LLVM

Сообщений 1 страница 3 из 3

1

2014, Нис Зиновий, Обзор возможностей LLVM для создания трансляторов, компиляторов, оптимизаторов (слайды)
     http://academy.hpc-russia.ru/files/msu-llvm-lecture.pdf

Отредактировано Лис (2017-01-04 08:58:54)

2

судя по описанию - это очень крутая штука.
мне понравилось из описания то что проект начался почти на 15 лет позже но спокойно бросает вызов динозавру gcc
шлепком так же стало то что проект имеет более свободную лицензию
ну и список того кем и что написано на LLVM - достаточно внушительный

3

Яр написал(а):

судя по описанию - это очень крутая штука.

Ну вот есть выбор - либо писать компилятор в инструкции 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 )

https://blog.rust-lang.org/images/2016-04-MIR/flow.svg

А вот питон приземляют на llvm - http://numba.pydata.org/numba-doc/0.13/ir.html:
http://numba.pydata.org/numba-doc/0.13/_images/graphviz-6cd24634c65c4099c20a116b1cbc0ff053f71958.png

(Вообще говоря, с точки зрения русскоязычности выбора нет - надо всё переписывать, включая оптимизатор)