如何检索 LLVM 中函数调用期间传递的参数?
Posted
技术标签:
【中文标题】如何检索 LLVM 中函数调用期间传递的参数?【英文标题】:How to retrive the arguments passed during function call in LLVM? 【发布时间】:2021-05-24 06:45:57 【问题描述】:我在 llvm 中有一个调用指令 'call void @calculate_output(i32 %14), !dbg !141'。 我想从中检索值对象 %14。 每当我尝试时,我都会得到形式参数而不是实际参数。
【问题讨论】:
【参考方案1】:如果您获取形式参数,则表示您使用的是Function*
,而不是CallInst*
。你打电话给call->getFunction()
了吗?
你需要的只是call->getArgOperand(0)
,见https://llvm.org/doxygen/classllvm_1_1CallBase.html#ab2caa29167597390ab2fc3cf30d70389
【讨论】:
以上是关于如何检索 LLVM 中函数调用期间传递的参数?的主要内容,如果未能解决你的问题,请参考以下文章
Postgresql 在另一个函数中调用一个函数,从主函数传递一个参数