LINUX.ORG.RU
ФорумTalks

Тупой вопрос про LLVM.

 


1

4

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

А после абстрактной виртуальной машины ведь стоит какая-то реальная, под которую надо генерить код и в которой нет каких-то удобных векторных инстукций или нужной ширины регистров. IR-оптимизатор запилил суперкрутые оптимизации с векторными инструкциями, а потом на бекенде выясняется, что целевой процессор - intel 286.

Т.е. получается, оптимизатор должен учитывать конечную архитектуру. Получается, что у нас много оптимизаторов - под каждую архитектуру свой. Где я гоню?



Последнее исправление: hlamotron (всего исправлений: 1)

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

intelfx ★★★★★
()
Ответ на: комментарий от intelfx

Похоже на правду: типа «ага, ты там внизу не умеешь MMX, тогда вырубаем эту фичу...»

hlamotron
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.