0

我正在 llvm 中执行优化,需要在优化之前运行 InstNamer 通行证。目前,我通过手动将“-instnamer”传递给 opt 来运行它。有没有办法可以将 InstNamer 添加为代码中的必填项?

我试着做 AU.addRequired();

但这不会编译,因为它会抛出“未声明的标识符'InstNamer'”。

有没有办法我可以做到这一点?

4

1 回答 1

0

如果在 include/llvm 中取消了 pass,那么你可以使用AU.addRequired<PassClassName>();,这实际上是AU.addRequiredID(PassClassName::ID);

如果 pass 是在 lib/ 中声明和定义的,那么你必须使用AU.addRequiredID(PassClassID);

在这种情况下,您必须使用:

#include "llvm/Transforms/Scalar.h"

AU.addRequiredID(InstructionNamerID);
于 2017-05-13T12:14:36.560 回答