我正在实现一个LLVM传递,并希望通过命令行打开或关闭一些选项,特别是我想为我的传递使用-v详细模式。
我找不到传递任何文档中提到的命令行标志的机制,是否存在?
答案 0 :(得分:12)
我找到的解决方案是使用LLVM的通用CommandLine API:http://llvm.org/docs/CommandLine.html
动态加载传递时,opt
按预期工作。
答案 1 :(得分:5)
另一个有用的技巧是:
#define DEBUG_TYPE "my-special-name"
...
#include "llvm/Support/Debug.h"
...
围绕一堆调试输出:
DEBUG(dbgs() << "Original Frame Size: " << FrameSize << "\n" );
...
DEBUG(Node->dump(CurDAG));
然后,在命令行上: ... -debug-only my-special-name ... 会得到你的输出。
如果你的传球与铿锵前端一起运行,你可以使用:
... -mllvm -debug-only my-special-name ...
答案 2 :(得分:1)
如果只有一个选项有两个可能的值,最简单的方法是在两个不同的名称下注册两次相同的传递。我不知道任何一般解决方案,特别是适用于opt
的内容。