我正在执行一个LLVM pass,并想通过命令行打开或关闭一些选项,特别是我想为我的pass传递一个-v详细模式。如何将标志传递给LLVM传递?
我找不到任何文档中提到的传递命令行标志的机制,是否存在?
我正在执行一个LLVM pass,并想通过命令行打开或关闭一些选项,特别是我想为我的pass传递一个-v详细模式。如何将标志传递给LLVM传递?
我找不到任何文档中提到的传递命令行标志的机制,是否存在?
如果只有一个选项有两个可能的值,最简单的做法是在两个不同的名称下注册相同的两次。我不知道任何通用解决方案,特别是可以与opt
一起使用的解决方案。
我找到的解决方案是使用LLVM的一般的CommandLine API:http://llvm.org/docs/CommandLine.html
工程动态加载的过程,当如预期opt
。
另一个有用的技巧是:
#define DEBUG_TYPE "my-special-name"
...
#include "llvm/Support/Debug.h"
...
撒上一堆调试输出周围的:
DEBUG(dbgs() << "Original Frame Size: " << FrameSize << "\n");
.. 。
DEBUG(Node->dump(CurDAG));
然后,在命令行上: ... -debug,只有我-特殊名称... 会得到你的输出。
如果您的密码与铛前端运行,你可以使用:
... -mllvm -debug,只有我-特殊名称...
谢谢,这可能在未来派上用场。 – Tzafrir 2011-02-02 13:59:30
谢谢,我发现了一个更普遍解决方案(下面回答我自己)。 – Tzafrir 2011-01-31 18:22:03