agg*_*212 2 lambda llvm llvm-clang c++11 llvm-c++-api
我使用 clang++ 3.4 将 C++11 程序 (test.cpp) 编译为 LLVM IR 文件 (test.ll)。该程序包含多个 C++ lambda 函数,我想知道是否可以使用如下技术仅提取 lambda 函数的 IR:
Module *mod = ParseIRFile("test.ll", *err, ctx);
for (Module::iterator f = mod->begin(); f != mod->end(); ++f) {
//is there some function like isLambdaFunction()?
if (f->isLambdaFunction()) {
cout << "Lambda Function" << endl;
}
}
Run Code Online (Sandbox Code Playgroud)
不。LLVM IR 中没有 lambda 函数的概念。Clang 使用方法将 lambda 降低为结构,据我所知。
您可以从 Clang 的 AST 获得此信息,但不能从 LLVM IR 获得。
| 归档时间: |
|
| 查看次数: |
1069 次 |
| 最近记录: |