3
請建議我找到在llvm IR中查找傳遞給函數的參數聲明的方法。在LLVM中查找函數的參數IR
請建議我找到在llvm IR中查找傳遞給函數的參數聲明的方法。在LLVM中查找函數的參數IR
您可以使用Function::getArgumentList()
方法來獲取函數參數列表。然後,用遍歷器遍歷它 - ArgumentListType::begin()
和ArgumentListType::end()
。
見class Function
文檔 - http://llvm.org/doxygen/classllvm_1_1Function.html
UPD:
迭代變量的當前方法是arg_begin()
/arg_end()
/args()
方法。
而對於C++ 11的每個結構,這更容易。假設F是你正在觀察的函數,並且A是F的ArgumentListType的一個參數:for(auto&A:F.getArgumentList()){A.dump(); }' – 2016-11-22 17:33:41
@arrowd getArgumentList()在文檔中沒有提到。你知道爲什麼嗎 ? – 2017-11-24 10:05:23
我想,我的回答變得過時了。我現在就更新它。 – arrowd 2017-11-24 11:03:23