Как стать автором
Обновить

Комментарии 10

Главный вопрос - сам бекенд (что генерирует макшинный код) для e2k таки свободный, или всё ещё проприетарщина?

Конечно же, проприетарищина, в статье про это написано

Была рассмотрена схема принципиального устройства порта llvm-e2k

Наверное, некорректно в таком контексте говорить о портировании llvm-e2k. Это прикручивание фронтенда clang заместо edg к ecf_opt'у. По сути, llvm тут никаким боком, ну кроме llvm-IR

Тут есть один общий вопрос - зачем? И чуть более предметный - это на перформанс как-то появлияло?

Замечу, что вопрос регулярной публикации бинарных сборок (cross и native) для компилятора ecf_opt, сейчас рассматривается

На моей памяти, этот вопрос рассматривается года этак с 2010-го ))

Ну как зачем? Очевидно, это позволит обеспечить трансляцию для e2k программ, написанных на входных языках llvm. То есть собственно решить задачу портирования значительного объёма кода на Эльбрус.

По сути, llvm и gcc фронтенды закрывают сейчас основную часть потребностей в компиляции опенсоурсного кода.

Это прикручивание фронтенда clang заместо edg к ecf_opt'у

Ну большая часть кодовой базы современных компиляторов занимается оптимизацией,
и использование llvm-ir позволит переиспользовать все архитектурно независимые оптимизации,
коих довольно много в llvm проекте.

"хорошо раскрыта в различных статьях, в том числе, в статьях, опубликованных на habr.ru. "

Хабр уже давно не ру )

liblccopt (он же перекомпиленный ecf_opt под lccrt) можно достать из x86 версии дистрибутива Эльбрус ОС, а так же судя по всему написать на почту в саппорт и получить бинари (O_o?). Правда нет ни одной публичной которой можно было бы связать с исходниками выложенными на гитфлике, так что ждём релиза x86 версии Эльбрус ОС 7.2.

Кстати, для желающих разобраться в устройстве их проприетарного компилятора, там доступна вся отладочная информация. Что с этой информацией делать вы знаете. Чтобы МЦСТ не пытался родить обратно то, что уже выложил сам, есть зеркало на гитхабе: https://github.com/OpenE2K/llvm-lccrt/

Кстати, для желающих разобраться в устройстве их проприетарного компилятора, там доступна вся отладочная информация.

Там - это где?

Технология оптимизации для VLIW сильно отличается от классических RISC/CISC. Переделывать llvm под VLIW это очень долгий, трудный и не благодарный процесс. При этом вы никогда не сможете влить это в апстрим, потому что поддерживать существенную разработку под мертвую архитектуру, никому не нужно. Самый реалистичный и простой вариант, это сделать "бэкенд" для LLVM, который будет транслироваться в C код, и дальше уходить в их проприетарный бэкенд.

Подобный бэкенд для llvm существует, но находится в слабо поддерживаемом состоянии. Так же это поможет избавится от EDG, который насколько я понимаю стал "санкционным".

Задача lcbe-бэкенда состоит в преобразовании lccrt-IR пусть и с потерями производительности в компилируемый и исполняемый Си-код.

На понял. Мы хотим скомпилировать исходник на языке Си. После всех преобразований мы получили lccrt-IR, а затем преобразуем это опять в "компилируемый и исполняемый Си-код"?

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории