Функция является GlobalValue, поэтому она сама является указателем. В то же время вы можете использовать бэкэнд C ++ LLVM для генерации вызовов API C ++, которые воссоздают IR, который вы передаете в llc.
Например, введите следующий код в http://llvm.org/demo:
void foo(int (*bar)(int));
int factorial(int X);
int main(int argc, char **argv) {
foo(factorial);
}
Убедитесь, что у вас установлен флажок «Показать код LLVM C ++ API», и вы увидите соответствующий IR LLVM и вызовы API C ++, которые воссоздают его.