从clang启用优化传递的调试输出

时间:2013-03-25 12:25:47

标签: debugging llvm clang

我试图了解LLVM中的现有传递,从而尝试在传递中打印编写良好的调试消息。我是通过使用clang -debug -some-other-flags这样做的。然而,在编译它时说:

clang: warning: argument unused during compilation: '-debug'

如何启用调试输出?

2 个答案:

答案 0 :(得分:16)

Clang没有“debug”命令行选项;您需要从clang构建IR,然后单独运行opt -debug,或运行clang -mllvm -debug

通常,-mllvm标志会将之后出现的内容传递给LLVM本身。如果您想要向前传递多个选项,请使用多个-mllvm标记。

答案 1 :(得分:5)

如果接受的答案不适合您:除了添加-mllvm -debug之外,您need clang which is built with debug assertions enabled,这是通过在编译clang时将-DLLVM_ENABLE_ASSERTIONS=On添加到cmake选项来完成的({{3 }})。