LLVM IR,Instruction :: getDebugLoc()返回NULL

时间:2019-07-16 16:35:27

标签: llvm

我正在尝试在llvm中获取附有指令的to元数据。但是,使用 lli -force-interpreter 运行时,getDebugLoc()返回NULL。下面是代码片段。返回NULL可能是什么情况?

const char* GetFilename(llvm::Instruction &I)
{
    DILocation *Loc = I.getDebugLoc();

    printf("opcode of inst = %d.\n",I.getOpcode());

    if(!Loc)
    {
        printf("NNNNNUUUUUULLLLLL.\n");
    }

    return Loc->getFilename().data();
}

此处打印了操作码,因此指令已按预期进行。还有,'NNNULLLL'。当遇到Loc-> getfilename时,代码将崩溃。

0 个答案:

没有答案