如何检索在 LLVM 中函数调用期间传递的参数?
How to retrive the arguments passed during function call in LLVM?
我在llvm中有一个调用指令'call void @calculate_output(i32 %14), !dbg !141'。
我想从中检索值对象 %14。
每当我尝试时,我都会得到形式参数而不是实际参数。
如果您正在获取形式参数,则意味着您正在使用 Function*
,而不是 CallInst*
。你打电话给 call->getFunction()
了吗?
你需要的只是call->getArgOperand(0)
,见https://llvm.org/doxygen/classllvm_1_1CallBase.html#ab2caa29167597390ab2fc3cf30d70389
我在llvm中有一个调用指令'call void @calculate_output(i32 %14), !dbg !141'。 我想从中检索值对象 %14。 每当我尝试时,我都会得到形式参数而不是实际参数。
如果您正在获取形式参数,则意味着您正在使用 Function*
,而不是 CallInst*
。你打电话给 call->getFunction()
了吗?
你需要的只是call->getArgOperand(0)
,见https://llvm.org/doxygen/classllvm_1_1CallBase.html#ab2caa29167597390ab2fc3cf30d70389