将void指针传递给LLVM IRBuilder CreateCall

时间:2017-09-26 23:49:20

标签: c++ llvm

我正在创建一个LLVM函数调用。如何将void指针作为参数传递给该调用。我有" _testFunc"作为我的函数,需要将void指针作为参数传递。

llvm::Function *testFunc= m_mod->getFunction("_testFunc");

llvm::IRBuilder<> builder(instruction.getNextNode());

llvm::Value *arg = argument is void pointer

builder.CreateCall(testFunc, arg);

所以这个arg必须是一个无效指针。

1 个答案:

答案 0 :(得分:2)

没有&#39; void *&#39;输入LLVM IR。请改用i8 *。

如果您想指定&#34; void*&#34;的实际值?只需创建一个常量整数并投射到i8*(它实际上做的很复杂,但它是唯一的方法)。

否则,如果您只想要void*使用i8*的类型。