我正在创建一个 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);
Run Code Online (Sandbox Code Playgroud)
所以这arg必须是一个空指针。
LLVM IR 中没有“void*”类型。请改用 i8*。
如果你想指定“ void*”的实际值,只需创建一个常量整数并转换为 a i8*(这对于它的实际作用来说有点复杂,但这是唯一的方法)。
否则,如果您只想void*使用一种类型i8*。