2013-03-25 3 views
12

LLVMの既存のパスを理解しようとしているため、うまく書かれたデバッグメッセージをパスに印刷しようとしています。私はclang -debug -some-other-flagsを使ってそうしています。しかし、それをコンパイルしながら言う:clangからの最適化パスのデバッグ出力を有効にする

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

デバッグ出力を有効にする方法?

+0

すべてのアイデアをいただければ幸いです。 – shrm

答えて

14

"debug"コマンドラインオプションはありません。 clangからIRを作成してからopt -debugを別々に実行するか、clang -mllvm -debugを実行する必要があります。

一般に、-mllvmフラグは、その後に表示されるすべてのものをLLVM自体に渡します。複数のオプションを渡す場合は、複数のフラグ-mllvmを使用してください。打ち鳴らす(ref)をコンパイルする際にcmakeのオプションに-DLLVM_ENABLE_ASSERTIONS=Onを追加することによって行われる離れ-mllvm -debugを追加することから、あなたはneed clang which is built with debug assertions enabled、:

+1

それはうまくいくようです。ありがとう。 '-mllvm'フラグの役割は何ですか? – shrm

+0

@mishrそれは、その後に現れるものをLLVM自体に渡します。 – Oak

+1

もしあなたがClangを使ってパスを走らせるならば、それらの可能性が多いです。この場合、 '-mllvm -debug-only = simplifycfg'のようなものが役に立ちます。 – Sjlver

3

受け入れ答えはあなたのために動作しない場合。

関連する問題