如何将 llvm 模块转储到 .ll 文件

How to dump llvm module to .ll file

我从 this question 看到有一种方法可以将模块转储到位码 (.bc),但我想将 IR 转储到 .ll 文件,以便我可以查看 IR。

我知道 llvm-dis 可以将 .bc 转换为 .ll,但在我的情况下它不起作用。 我写了一些转换模块的方式 llvm-dis 无法将位码转换为 IR。

是否有类似于 LLVMWriteBitcodeToFile 的 API 让我直接将模块转储到 IR?

您可以使用 opt 来做到这一点。 例如,

opt -S test.bc -o test.ll

来自, just use llvm::Module::print()