Lamento decir que LLVM simplemente no es muy rápido como un compilador JIT, es mejor como un compilador AOT/estático.
Me he encontrado con los mismos problemas de velocidad en mi proyecto llvm-lua. Lo que hice fue deshabilitar la compilación JIT de grandes funciones de Lua. llvm-lua no tiene activado el soporte de compilación diferida ya que LLVM requiere demasiado espacio de C-stack para ejecutarse desde corutinas de Lua.
Además, si utiliza esta función principal de su programa():
llvm::cl::ParseCommandLineOptions(argc, argv, 0, true);
expondrá una gran cantidad de opciones de línea de comandos de LLVM como '-time-pass' que permitan la sincronización de LLVM pasa, para ver qué partes de la compilación de JIT toman más tiempo.