我试图了解 LLVM 中的现有传递,因此试图在传递中打印写得很好的调试消息。我这样做是通过使用clang -debug -some-other-flags
. 但是在编译时它说:
clang: warning: argument unused during compilation: '-debug'
如何启用调试输出?
Clang 没有“调试”命令行选项;您需要从 clang 构建 IR,然后opt -debug
单独运行,或者运行clang -mllvm -debug
.
通常,该-mllvm
标志会将之后出现的任何内容传递给 LLVM 本身。如果要继续传递多个选项,请使用多个-mllvm
标志。
如果接受的答案对您不起作用:除了添加之外-mllvm -debug
,您还需要在启用调试断言的情况下构建的 clang,这是通过在编译 clang ( ref )-DLLVM_ENABLE_ASSERTIONS=On
时添加到 cmake 选项来完成的。