【问题标题】:How can I get function name from CallInst in LLVM?如何从 LLVM 中的 CallInst 获取函数名称?
【发布时间】:2012-07-27 11:34:28
【问题描述】:

我有一个CallInst 类型的对象。如何获取被调用函数(又名被调用者)的名称。假设函数被直接调用(即没有间接函数调用)。

【问题讨论】:

    标签: c++ c llvm clang


    【解决方案1】:
    StringRef get_function_name(CallInst *call)
    {
        Function *fun = call->getCalledFunction();
        if (fun) // thanks @Anton Korobeynikov
            return fun->getName(); // inherited from llvm::Value
        else
            return StringRef("indirect call");
    }
    

    无论如何,这就是文档所暗示的:

    【讨论】:

    • 注意,在间接调用的情况下,此处 fun 可以为 NULL。
    猜你喜欢
    • 1970-01-01
    • 2022-11-14
    • 1970-01-01
    • 2021-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多