Как правильно вызвать определенную функцию с аргументами в llvm
Мое определение функции выглядит следующим образом, это простая функция:
void __test_function2(int a)
{
printf("%d\n",a);
}
И я хотел бы вызвать функцию, перебирая каждый базовый блок в проходе и вставляя оператор вызова, который я делаю следующим образом.
std::vector<Type*> testVct;
testVct.push_back(Int32Ty);
ArrayRef<Type *> testArgs(testVct);
FunctionType *testTy2 = FunctionType::get(Type::getVoidTy(*Ctx),testArgs,false);
FunctionCallee callee_test2 = M.getOrInsertFunction("__test_function2",testTy2);
Value *testArgs_[] = {IRB.getInt32(inst_blocks)};
IRB.CreateCall(callee_test2,testArgs_, //need opbundles);
По результату ошибки у меня отсутствуют opbundles, но я не знаю что это такое и как мне получить этот параметр. Может кто-нибудь сказать мне, что делать. Спасибо.