在LLVM IR中查找函数的参数

在LLVM IR中查找函数的参数,llvm,Llvm,请建议我使用方法在llvm IR中查找传递给函数的参数声明。您可以使用函数::getArgumentList()方法获取函数参数列表。然后,使用迭代器遍历它-ArgumentListType::begin()和ArgumentListType::end() 参见类功能文档- UPD: 当前迭代参数的方法是arg\u begin()/arg\u end()/args()方法。对于每个结构,使用C++11更容易。假设F是您正在观察的函数,A是F的ArgumentListType的一个参数:for(a

请建议我使用方法在llvm IR中查找传递给函数的参数声明。

您可以使用
函数::getArgumentList()
方法获取函数参数列表。然后,使用迭代器遍历它-
ArgumentListType::begin()
ArgumentListType::end()

参见
类功能
文档-

UPD:


当前迭代参数的方法是
arg\u begin()
/
arg\u end()
/
args()
方法。

对于每个结构,使用C++11更容易。假设F是您正在观察的函数,A是F的ArgumentListType的一个参数:
for(auto&A:F.getArgumentList()){A.dump();}
@arrowd文件中没有提到getArgumentList()。你知道为什么吗?我想,我的答案已经过时了。我现在就更新它。请注意,这个答案在最近的LLVM版本中已经过时,因为
.getArgumentList()
函数已被删除,取而代之的是
.args()
迭代器(有关更多信息,请参阅)。