Возможно автоматическое создание кода llvm C++ api из LLVM-IR?
The clang 3.0 онлайн демо-страница http://llvm.org/demo/index.cgi предоставляет возможность вывода кода API LLVM C++", представляющего LLVM-IR для входной программы.
" производит код API LLVM C++ " выводит опцию clang (и если да, то что это такое)?
или это опция инструмента llvm (какой)?
можно ли сделать то же самое, но с ввода LLVM-IR? В основном я хотел бы видеть правильные вызовы llvm C++ api, необходимые для создания конкретная заданная последовательность llvm-ir. Я хотел бы учиться назад на примере, а не вперед из документации.
ручные страницы и --help и --help-hidden для clang, llvm-as и llvm-dis не показывают ничего очевидного.
edit: OK теперь я вижу в выводе на этой веб-странице "сгенерированный llvm2cpp". Но я не могу найти этот инструмент в последних выпусках llvm, только старых выпусках, имеет новый инструмент в 2.9 и 3.0, принятый за llvm2cpp?
2 ответов
Я столкнулся с точно такой же проблемой и видел CPPBuilder, упомянутый пару раз. Этот подход, к сожалению, больше не работает на последних версиях LLVM, поскольку CPPBackend был удален между 3.8 и 3.9.
Если вы хотите cpp backend, вам (i) нужно настроить llvm и добавить cppbackend в-DLLVM_TARGETS_TO_BUILD во время начальной настройки и (ii) запустить llvm
функция была удалена, потому что она не использовала IRBuilder и почти никто не использовал его. Мое решение состояло в том, чтобы полагаться на старую версию, чтобы вдохновиться, а затем реализовать ее самостоятельно.