我正在创建一个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
必须是一个无效指针。
答案 0 :(得分:2)
没有&#39; void *&#39;输入LLVM IR。请改用i8 *。
如果您想指定&#34; void*
&#34;的实际值?只需创建一个常量整数并投射到i8*
(它实际上做的很复杂,但它是唯一的方法)。
否则,如果您只想要void*
使用i8*
的类型。