compiler-construction - 从什么地方调用Compiler-RT?

标签 compiler-construction runtime clang llvm llvm-clang

我想了解有关LLVM的Compiler-RT项目的以下信息:它是从什么程序调用的。据我了解,Compiler-RT是处理LLVM中实际上没有硬件对应项的指令的功能集合(它还有更多功能吗?)。因此,如果我在LLVM中使用除法,则应将其替换为适当的Compiler-RT函数。首先,如果这不正确,请纠正我!

其次,我对谁生成Compiler-RT用法感到好奇。是Clang还是直接LLVM。我可以为LLVM写一个不同的前端吗?在适当的时候LLVM会自动处理Compiler-RT的使用吗?

最佳答案

您的两个主张都是正确的。 LLVM后端必须将LLVM IR映射到特定于 native 目标的指令。如果 native 不支持某条指令,则必须将其替换(合法)。
您可以在TargetLowering中看到它的发生,它直接映射到Compiler RT中的运行时函数。

不涉及前端。

关于compiler-construction - 从什么地方调用Compiler-RT?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18644104/

相关文章:

c# - Windows 应用商店应用程序 AppContainerCheck 失败

linux - 基于 Poco 的二进制文件在运行时找不到库

c++ - 使用别名模板时无法将 `std::unique_ptr` 分配给 clang 中的基类

ios - ARC 并在编译时不指定类就向对象发送消息

linux - GCC 过时时本地安装 clang 的最佳方式

基于 Prolog 的解释器

android - Objective-C 然后呢?安卓、Windows 7、黑莓

c++ - 返回对局部变量的引用

ios - 从外部库的二进制文件中获取类

ios - 如何在运行时使用哈希值获取指向现有 NSObject 的指针