Есть несколько вариантов на самом деле.2, которые вам, вероятно, будут интересны, это -march=c
и -march=cpp
, которые являются опциями для llc.
Run:
llc -march=c -o code.c code.ll
Это преобразует битовый код LLVM в code.ll
вернуться к C и положить его в code.c
.
Также:
llc -march=cpp -o code.cpp code.ll
Это отличается от механизма вывода C.На самом деле он напишет код C ++, который можно запустить, чтобы восстановить ИК.Я использую этот личный код для встраивания LLVM IR в программу без необходимости разбора файлов битовых кодов или чего-либо еще.
-march=cpp
имеет больше опций, которые вы можете видеть с llc --help
, например, -cppgen=
, который управляет тем, какБольшая часть ИК-выхода C ++ восстанавливает.