Существуют ли альтернативные библиотеки LLVM, предназначенные для компиляции конкретного кода IR для специфического кода архитектуры?

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

  • Я хочу написать код, который генерирует IR самостоятельно.

  • Установка библиотек разработки LLVM — это боль в заднице, когда я работаю на разных компьютерах.

  • Мне нравится, что LLVM позволяет программисту генерировать IR и не беспокоиться о компиляции до сборки, поэтому я все еще хочу эту функциональность.

1

Решение

  • Вы можете самостоятельно сгенерировать LLVM IR вместо использования API LLVM. LLVM IR имеет удобное текстовое представление, чтобы включить это.

  • Вы можете установить только двоичные файлы LLVM для обработки IR, а не использовать их внутренние библиотеки, поэтому вам не нужно настраивать библиотеки разработки.

1

Другие решения

IR-код, сгенерированный вашей программой, затем можно скомпилировать в машинный код с помощью инструмента LLVM. ооо. Для этого не требуется никаких версий библиотек LLVM.

1

Есть libjit хотя у него, кажется, есть немного меньший диапазон применения (особенно когда дело доходит до анализа).

0
По вопросам рекламы [email protected]