小编Abh*_*ain的帖子

通过llvm传递识别用户定义函数

无论如何,我可以确定被调用函数是否是用户定义?例如:

void foo()
{
   printf("hello world again");
}
int main()
{
   printf("hello world\n");
   foo();
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,foo()是用户定义,而printf()是库函数.

我目前使用的方法是迭代所有模块并检查其大小是否大于0.即:

for(Module::iterator F = M.begin(); F != M.end(); ++F)
{
    Function &Func = *F;
    if(F->size()>0)
        errs() << "User Define";
}
Run Code Online (Sandbox Code Playgroud)

但我不确定它的准确性?

llvm llvm-clang llvm-ir llvm-c++-api

7
推荐指数
1
解决办法
905
查看次数

计算使用LLI动态执行的LLVM指令的数量

我想使用lli 3.4计算在任何程序中动态执行的LLVM指令的数量.

我检查了这个链接,但它没有提供任何与指令计数相关的信息.

llvm clang llvm-clang llvm-ir

5
推荐指数
1
解决办法
735
查看次数

标签 统计

llvm ×2

llvm-clang ×2

llvm-ir ×2

clang ×1

llvm-c++-api ×1