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

如何将llvm模块转储到.ll文件,llvm,llvm-ir,Llvm,Llvm Ir,我从中了解到有一种方法可以将模块转储到位代码(.bc),但我希望将IR转储到.ll文件,以便查看IR 我知道llvmdis可以将.bc转换为.ll,但在我的情况下,它不起作用。 我编写了一些转换模块的过程,llvm dis无法将位码转换为IR 是否有类似于LLVMWriteBitcodeToFile的API,允许我直接将模块转储到IR?您可以使用opt来完成此操作。 e、 g opt-S test.bc-o test.ll您可以使用opt执行此操作。 e、 g opt-S test.bc-o t

我从中了解到有一种方法可以将模块转储到位代码(.bc),但我希望将IR转储到.ll文件,以便查看IR

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


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

您可以使用
opt
来完成此操作。 e、 g


opt-S test.bc-o test.ll

您可以使用
opt
执行此操作。 e、 g


opt-S test.bc-o test.ll
From,只需使用

From,只需使用

?@arnt效果很好,现在我感觉自己很笨。九点到五点我都会感觉自己很笨;)@阿恩特:那很好用,现在我觉得自己很笨。感觉自己很笨是我九点到五点要做的;)这失败的原因与
llvm dis
不工作的原因相同。这失败的原因与
llvm dis
不工作的原因相同。我使用
llvmmodule->print(ostream,nullptr)
但是为什么我的llvm::Module只打印
源文件名
而不打印其他文件?我使用
llvmmodule->print(ostream,nullptr)但为什么我的llvm::Module只打印
源文件名
,而不打印其他文件?