Как я могу передать флаги проходу LLVM? - PullRequest
9 голосов
/ 31 января 2011

Я реализую проход LLVM и хотел бы включить или отключить некоторые опции через командную строку, особенно я хотел бы иметь подробный режим -v для моего прохода.найти механизм передачи флагов командной строки, упомянутых в любом документе, существует ли он?

Ответы [ 3 ]

12 голосов
/ 31 января 2011

Решение, которое я нашел, заключается в использовании общего API-интерфейса CommandLine LLVM: http://llvm.org/docs/CommandLine.html

При динамической загрузке прохода работает как положено в opt.

5 голосов
/ 01 февраля 2011

Еще один полезный трюк:

#define DEBUG_TYPE "my-special-name"

...

#include "llvm/Support/Debug.h"

...

Посыпать кучу отладочной информации:

DEBUG(dbgs() << "Original Frame Size: " << FrameSize << "\n" );

...

DEBUG(Node->dump(CurDAG));

Затем в командной строке: ... -дебаг-только мое-специальное имя ... получит ваш вывод.

Если ваш проход выполняется с помощью внешнего интерфейса лязга, вы можете использовать:

... -mllvm -debug-only my-special-name ...

1 голос
/ 31 января 2011

Если существует только одна опция с двумя возможными значениями, проще всего зарегистрировать один и тот же проход дважды под двумя разными именами. Я не знаю ни одного общего решения, особенно того, которое будет работать с opt.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...