我正在开发一个项目,我需要一个编写代码,用于将LLVM-IR转换为类C语言.这种语言的结构与C非常相似.经过一些调查后,我发现LLVM 3.0版本中存在一个名为CBackend.cpp的文件,负责将LLVM-IR转换为C代码.我要检查的是在我的LLVM-IR输入文件上运行这个CBackend.cpp文件并生成C代码.
对此的命令是:llc -march = c -o code.c code.ll
其中code.ll文件是包含输入llvm-ir的输入文件,code.c是包含结果C代码的输出文件.
我面临的是,我在我的ubuntu系统上安装了LLVM版本3.4svn,并且此版本中没有CBackend.cpp文件,因为该文件已升级到CppBackend.cpp(将LLVM-IR转换为C++).我可以使用哪个命令在LLVM-IR输入文件上运行此CBackend.cpp文件,以获取LLVM版本3.4svn中的相应C代码?
提前致谢.
C版后端在版本3.1中被删除,因为它没有被维护并开始开发代码腐烂,成为负担.由于没有维护者加强,它已从树中删除.从3.1的发行说明:
C后端已被删除.它有很多问题,以至于无法编译任何重要的程序.
在2012年8月,llvmdev上的一个帖子讨论了恢复C后端的问题,但我认为它不会在任何有用的地方结束.
您仍然可以下载LLVM 3.0版(从发布页面),构建它并查看C后端的运行情况,研究它的代码等.为了您的特定目的 - 查看代码并弄清楚它是如何工作的,3.0 C后端应该足够好.