clang 3.0在线演示页面http://llvm.org/demo/index.cgi提供输出LLVM C ++ API代码的选项,“代表输入程序的LLVM-IR。
“生成LLVM C ++ API代码”输出一个clang选项(如果是,它是什么)?
或者它是一个llvm工具选项(哪一个)?
是否可以通过LLVM-IR输入执行相同的操作?基本上我希望看到生成特定llvm-ir序列所需的正确llvm c ++ api调用。我想通过示例向后学习,而不是从文档中向前学习。
手册页和--help和--help-hidden for clang,llvm-as和llvm-dis没有显示任何明显的内容。
编辑:好了,现在我在该网页的输出中看到“由llvm2cpp生成”。但是我在最近的llvm版本中找不到这个工具,只有旧版本,在llvm2cpp中有一个2.9和3.0的新工具?
答案 0 :(得分:9)
是。 C ++后端是执行此操作的工具。试试“llc -march = cpp foo.bc”
答案 1 :(得分:2)
我遇到了完全相同的问题,看到CPPBuilder提到了几次。不幸的是,这种方法不再适用于最近的LLVM版本,因为CPPBackend在3.8和3.9之间被删除。
如果你想要CPP后端你(i)必须配置llvm并在初始配置期间将cppbackend添加到-DLLVM_TARGETS_TO_BUILD并且(ii)运行llvm< = 3.8。
该功能已被删除,因为它没有使用IRBuilder,几乎没有人使用它。我的解决方案是依靠旧版本获得灵感,然后自己实现。