Включить вывод отладки для оптимизационных проходов из clang
Я пытаюсь понять существующий проход в LLVM и, таким образом, пытаюсь напечатать красиво написанные отладочные сообщения в проходе. Я делаю это, используя clang -debug -some-other-flags
. Однако при компиляции он говорит:
clang: warning: argument unused during compilation: '-debug'
Как включить отладочный вывод?
2 ответов
Clang не имеет опции командной строки "debug"; вам нужно либо построить IR из clang, а затем запустить opt -debug
отдельно, или запустить clang -mllvm -debug
.
В общем,-mllvm
флаг передает все, что появляется впоследствии, самому LLVM. Используйте несколько -mllvm
флаги, если вы хотите передать несколько вариантов вперед.
в случае, если принятый ответ не работает для вас: помимо добавления -mllvm -debug
, вы нужен clang, который построен с включенными утверждениями отладки, который делается путем добавления -DLLVM_ENABLE_ASSERTIONS=On
для параметров cmake при компиляции clang (ref).