【发布时间】:2013-10-16 18:59:23
【问题描述】:
我正在做一个项目,我必须编写将 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 代码?
提前致谢。
【问题讨论】:
-
此线程表明它可能已损坏 - lists.cs.uiuc.edu/pipermail/llvmdev/2012-April/049124.html。如果您仍然想要它,为什么不从这里下载旧版本 - llvm.org/releases/download.html ?
-
@Leeor:实际上我不会升级我的 llvm。我从一开始就安装了 3.4svn 版本,它没有 CBackend 文件。他们似乎从 3.0 之后的版本中删除了它。所以,我希望命令在我的版本上运行这个文件。
-
@Leeor:我有那个 CBackend.cpp 文件。我只想要命令在我的版本上运行这个文件。因为现在安装较低版本对我来说不是正确的解决方案。