Генерация собственного кода LLVM - PullRequest
2 голосов
/ 15 февраля 2012

Как собственный код генерируется с использованием llvm?

Если это возможно, можно ли это сделать с помощью привязки Haskell?

upd: я имею в виду генерировать код не в памяти, я имею в виду, каксгенерировать код и, например, сохранить его в файл.

1 Ответ

10 голосов
/ 15 февраля 2012

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

Для Haskell существует привязка к библиотеке LLVM .Вы можете создавать файлы битового кода LLVM с writeBitcodeToFile;llvm-ld может затем связать их в собственный код.

...