Compiler construction 编译器RT调用的目的和来源是什么?

Compiler construction 编译器RT调用的目的和来源是什么?,compiler-construction,runtime,clang,llvm,llvm-clang,Compiler Construction,Runtime,Clang,Llvm,Llvm Clang,我想了解以下关于LLVM编译器RT项目的情况:它是从哪个程序调用的。据我所知,编译器RT是一个函数集合,用于处理LLVM中的指令,这些指令实际上没有硬件对应项(还有比这更重要的吗?)。所以,如果我在LLVM中使用除法,它应该被一个适当的编译器RT函数替换。首先,如果这不正确,请纠正我 其次,我很好奇是谁生成了编译器RT用法。它是叮当的还是直接的LLVM。我可以为LLVM编写一个不同的前端吗?LLVM会在适当的时候自动处理编译器RT的使用吗?您的两个断言都是正确的。LLVM后端必须将LLVM IR

我想了解以下关于LLVM编译器RT项目的情况:它是从哪个程序调用的。据我所知,编译器RT是一个函数集合,用于处理LLVM中的指令,这些指令实际上没有硬件对应项(还有比这更重要的吗?)。所以,如果我在LLVM中使用除法,它应该被一个适当的编译器RT函数替换。首先,如果这不正确,请纠正我


其次,我很好奇是谁生成了编译器RT用法。它是叮当的还是直接的LLVM。我可以为LLVM编写一个不同的前端吗?LLVM会在适当的时候自动处理编译器RT的使用吗?

您的两个断言都是正确的。LLVM后端必须将LLVM IR映射到特定于本机目标的指令。如果指令本机不受支持,则必须将其替换(合法化)。 您可以在中看到这一点,它直接映射到中的运行时函数

前端不涉及