2014-09-05 119 views
1

我已經使用clang ++ 3.4將C++ 11程序(test.cpp)編譯到LLVM IR文件(test.ll)中。該程序包含多個C++ lambda函數,我想知道如果它是能夠提取IR僅使用如下的技術拉姆達功能:LLVM IR Lambda函數

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; 
    } 
} 

回答

3

號沒有在LLVM lambda函數概念IR。 Clang使用方法AFAIK將lambdas降低到結構。

你可以從Clang的AST中得到這個,但不能從LLVM IR獲得。