#llvm-ir
#llvm-ir
Вопрос:
Позвольте мне объяснить мой вопрос в 4 шага:
- LLVM написан на C . Можно ли разработать программу на C и статически связать исходный код оптимизатора и генератора кода LLVM?
- Непосредственно создайте C «IR class structure» в памяти (ссылка: https://llvm.org/docs/ProgrammersManual.html#important-and-useful-llvm-apis ), следовательно, минуя текстовый ИК-язык и интерпретатор ИК-языка.
- Пусть LLVM оптимизирует генерирует, выполняет машинный код из памяти, связывает из внешних библиотек и записывает в память (не в файл)?
- Непосредственно выполнить код, как это сделал бы JIT-компилятор?
Другими словами, я хочу начать с образа памяти, представляющего классы LLVM, и оптимизировать, скомпилировать и выполнить из памяти, без каких-либо промежуточных файлов. Можно ли это сделать?
Комментарии:
1. См. llvm.org/devmtg/2008-08/Begeman_EfficientJIT.pdf . И, кстати, запись в файлы с битовым кодом — это запись в память