Optimization 将llvm中的InstNamer pass添加为必需的pass

Optimization 将llvm中的InstNamer pass添加为必需的pass,optimization,compiler-construction,llvm,llvm-ir,intermediate-language,Optimization,Compiler Construction,Llvm,Llvm Ir,Intermediate Language,我正在llvm中执行一个优化,它要求在优化之前运行InstNamer过程。目前,我通过手动将“-instnamer”传递给opt来运行它。有没有办法在代码中添加InstNamer作为必需的过程 我试过了 AU.addRequired() 但它不会编译,因为它抛出“未声明的标识符'InstNamer'” 我有办法做到这一点吗 如果在include/llvm中取消了该过程,则可以使用AU.addRequired(),实际上是AU.addRequiredID(PassClassName::ID) 如果

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

我试过了 AU.addRequired()

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


我有办法做到这一点吗

如果在include/llvm中取消了该过程,则可以使用
AU.addRequired()
,实际上是
AU.addRequiredID(PassClassName::ID)

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

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

#include "llvm/Transforms/Scalar.h"

AU.addRequiredID(InstructionNamerID);