LINUX.ORG.RU

История изменений

Исправление SkyMaverick, (текущая версия) :

что gcc не очень то подходит для VLIW. И llvm, кстати, тоже.

Это, на этапе оптимизации и генерации, да. В принципе фронт GCC (до оптимизации GIMPLE) или LLVM (до оптимизаций) можно было бы и взять, наверно, просто EDG этим какбы за деньги занимается, а когда начинали это всё дело и GCC ещё был не такой, как сейчас, и LLVM ещё не было.

Как я понял, с llvm и пошли по такому пути: взяли фронт -> сгенерировали IR-llvm -> IR-llvm транслируется в IR-llc -> далее уже оптимизирует и генерирует бинарники llc. Таким образом работа сводится к разработке качественного транслятора, что, опять же как я понял, сильно проще, чем городить и сопровождать собственный фронт и плюсом даёт всякие Rust-ы и прочие llvm-based (зачем это всё собственно и затеяли).

Исправление SkyMaverick, :

что gcc не очень то подходит для VLIW. И llvm, кстати, тоже.

Это, на этапе оптимизации и генерации, да. В принципе фронт GCC (до оптимизации GIMPLE) или LLVM (до оптимизаций) можно было бы и взять, наверно, просто EDG этим какбы за деньги занимается, а когда начинали это всё дело и GCC ещё был не такой, как сейчас, и LLVM ещё не было.

Как я понял, с llvm и пошли по такому пути: взяли фронт -> сгенерировали IR-llvm -> IR-llvm транслируется в IR-llc -> далее уже оптимизирует и генерирует бинарники llc. Таким образом работа сводится к разработке качественного транслятора, что, опять же как я понял, сильно проще, чем городить и сопровождать собственный фронт и плюсом даёт всякие Rust-ы и прочие llvm-based.

Исходная версия SkyMaverick, :

что gcc не очень то подходит для VLIW. И llvm, кстати, тоже.

Это, на этапе оптимизации и генерации, да. В принципе фронт GCC (до оптимизации GIMPLE) или LLVM (до оптимизаций) можно было бы и взять, наверно, просто EDG этим какбы за деньги занимается, а когда начинали это всё дело и GCC ещё был не такой, как сейчас, и LLVM ещё не было.

Как я понял, с llvm и пошли по такому пути: взяли фронт -> сгенерировали IR-llvm -> IR-llvm транслируется в IR-llc -> далее уже оптимизирует и генерирует бинарники llc. Таким образом работа сводится к разработке качественного транслятора, что, опять же как я понял, сильно проще, чем городить и сопровождать собственный фронт.