提供一组运行时支持函数是很常见的,这些函数是用 LLVM IR 之外的另一种语言编写的,并且与这样的运行时库进行接口非常容易。 本文档的示例中使用 mallocfree 作为外部定义的运行时函数的示例。

自定义的非 IR 运行时库函数的优点是它可以手动优化,以在特定标准下提供最佳性能。 此外,自定义的非 IR 运行时库函数可以显式使用 LLVM 基础架构之外的本机指令。

IR 运行时库函数的优点是它们可以通过优化器进行优化,因此也可以自动内联。