【问题标题】:LLVM IR Lambda FunctionsLLVM IR Lambda 函数
【发布时间】:2014-10-30 18:02:29
【问题描述】:

我已使用 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;
    }
}

【问题讨论】:

    标签: c++11 lambda llvm llvm-clang llvm-c++-api


    【解决方案1】:

    没有。 LLVM IR 中没有 lambda 函数的概念。 Clang 将 lambda 降低为带有方法的结构,AFAIK。

    您可以从 Clang 的 AST 中获得此信息,但不能从 LLVM IR 获得。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-13
      • 1970-01-01
      • 2013-11-17
      相关资源
      最近更新 更多