在LLVM IR中查找函数的参数
请建议我使用方法在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
函数::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()
迭代器(有关更多信息,请参阅)。