“ compiler-rt”运行时runtime库

编译器-rt项目包括:

  • Builtins-一个简单的库,提供了代码生成和其他运行时runtime组件所需的特定于目标的低级接口。例如,当为32位目标进行编译时,将双精度数转换为64位无符号整数将编译为对“ __fixunsdfdi”函数的运行时runtime调用。内置库以与目标无关的C形式或经过高度优化的程序集的形式提供了此示例和其他低级示例的优化实现。

内建函数为受支持的目标上的libgcc接口提供了全面支持,并为汇编中的常用功能(如__floatundidf)提供了高性能的手动调试实现,这些实现比libgcc实现快得多。通过添加内置目标来支持新目标应该很容易,因为该目标需要添加新的示例。

根据MIT许可证和UIUC许可证(类似于BSD的许可证),compiler-rt项目中的所有代码均具有双重许可

客户群

当前,Clang 和LLVM项目主要将editor -rt用作运行时runtime编译器支持库的实现。有关将C ++编译器与Clang一起使用的更多信息,请参见Clang 入门 文档。

平台支援

已知buildin可在以下平台上工作:

  • 硬件架构:i386,X86-64,SPARC64,ARM,PowerPC,PowerPC 64。
  • 操作系统:AuroraUX,DragonFlyBSD,FreeBSD,NetBSD,Linux,Darwin。

大多数sanitizer运行时runtime仅在Linux x86-64上受支持。有关更多详细信息,请参见Clang文档中特定于工具的文档。

源结构

编译器-rt的目录结构的简短说明:

为了进行测试,可以构建通用库和优化库。通过将优化版本覆盖到通用库上来形成优化库。当然,某些体系结构具有附加功能,因此优化库可能具有通用版本中找不到的功能。

  • include /包含可以包含在用户程序中的header(例如,用户可以直接从sanitizer运行时runtime调用某些函数)。
  • lib /包含库实现。
  • lib / builtins是内置示例的通用可移植实现。
  • lib / builtins /(arch)为支持的体系结构优化了某些示例的版本。
  • test /包含用于compile-rt运行时runtime的测试套件。

得到它并参与其中!

通常,需要构建LLVM / Clang才能构建Compiler-rt。可以将其与llvm和clang一起构建,也可以分别构建。

要将其构建在一起,只需将compile-rt添加到-DLLVM_ENABLE_PROJECTS =option to cmake。

要单独构建它,首先分别 构建LLVM 以获得llvm-config二进制文件,然后运行:

  • cd llvm-project
  • mkdir build-compiler-rt
  • cd build-compiler-rt
  • cmake ../compiler-rt -DLLVM_CONFIG_PATH = / path / to / llvm-config
  • make

sanitizer运行时runtime的测试已移植到 llvm-lit,并通过LLVM / Clang / compiler-rt构建树中的make check-all命令运行。

使用LLVM / Clang / compiler-rt或独立的compile-rt构建树中的make install命令将编译器RT库安装到系统中。

compile-rt没有自己的邮件列表,如果有任何疑问,请通过电子邮件发送llvm-dev邮件列表。提交到editor-rt SVN模块的信息将自动发送到 llvm-commits 邮件列表。

“ compiler-rt”运行时runtime库的更多相关文章

  1. iOS运行时Runtime浅析

    运行时是iOS中一个很重要的概念,iOS运行过程中都会被转化为runtime的C代码执行.例如[target doSomething];会被转化成objc)msgSend(target,@select ...

  2. CUDA运行时 Runtime(一)

    CUDA运行时 Runtime(一)             一. 概述 运行时在cudart库中实现,该库通过静态方式链接到应用程序库cudart.lib和libcudart.a,或动态通过cuda ...

  3. Deep Learning部署TVM Golang运行时Runtime

    Deep Learning部署TVM Golang运行时Runtime 介绍 TVM是一个开放式深度学习编译器堆栈,用于编译从不同框架到CPU,GPU或专用加速器的各种深度学习模型.TVM支持来自Te ...

  4. CUDA运行时 Runtime(四)

    CUDA运行时 Runtime(四) 一.     图 图为CUDA中的工作提交提供了一种新的模型.图是一系列操作,如内核启动,由依赖项连接,依赖项与执行分开定义.这允许定义一次图形,然后重复启动.将 ...

  5. CUDA运行时 Runtime(三)

    CUDA运行时 Runtime(三) 一.异步并发执行 CUDA将以下操作公开为可以彼此并发操作的独立任务: 主机计算: 设备计算: 从主机到设备的内存传输: 从设备到主机的存储器传输: 在给定设备的 ...

  6. CUDA运行时 Runtime(二)

    CUDA运行时 Runtime(二) 一. 概述 下面的代码示例是利用共享内存的矩阵乘法的实现.在这个实现中,每个线程块负责计算C的一个方子矩阵C sub,块内的每个线程负责计算Csub的一个元素.如 ...

  7. 【原】iOS动态性(五)一种可复用且解耦的用户统计实现(运行时Runtime)

    声明:本文是本人 编程小翁 原创,转载请注明. 为了达到更好的阅读效果,强烈建议跳转到这里查看文章. iOS动态性是我的关于iOS运行时的系列文章,由浅入深,从理论到实践.本文是第5篇.有兴趣可以看看 ...

  8. iOS 运行时runtime控制私有变量以及私有方法

    OC是运行时语言,只有在程序运行时,才会去确定对象的类型,并调用类与对象相应的方法.利用runtime机制让我们可以在程序运行时动态修改类.对象中的所有属性.方法,就算是私有方法以及私有属性都是可以动 ...

  9. 【原】iOS动态性(二):运行时runtime初探(强制获取并修改私有变量,强制增加及修改私有方法等)

    OC是运行时语言,只有在程序运行时,才会去确定对象的类型,并调用类与对象相应的方法.利用runtime机制让我们可以在程序运行时动态修改类.对象中的所有属性.方法,就算是私有方法以及私有属性都是可以动 ...

随机推荐

  1. 【aws-系统】简单的SNS到电报通知机器人

    动机 我已经使用此设置几个月了,这是我的用例: 预定的提醒.我有一些安排好的CloudWatch Events,以提醒我有关各种日常活动以及我从文章和书籍中保存的想法数据库中的随机推销的信息. 应用程 ...

  2. 通过 Netty、ZooKeeper 手撸一个 RPC 服务

    说明 项目链接 微服务框架都包括什么? 如何实现 RPC 远程调用? 开源 RPC 框架 限定语言 跨语言 RPC 框架 本地 Docker 搭建 ZooKeeper 下载镜像 启动容器 查看容器日志 ...

  3. 【maven】pom.xml中"spring-boot-maven-plugin"报红问题

    问题原因 插件下载速度太慢了,即是从国外的中央仓库里下载的. 没有刷新maven spring-boot-maven-plugin没加版本号(有些电脑不加版本号,也是不会爆红的) 问题解决 maven ...

  4. 【小技巧】修改eclipse中Java注释中的作者日期等信息

  5. 还不懂 redis 持久化?看看这个

    Redis 是一个内存数据库,为了保证数据不丢失,必须把数据保存到磁盘,这就叫做持久化. Redis 有两种持久化方法: RDB 方式以及 AOF 方式 RDB 持久化 前言 RDB持久化把内存中的数 ...

  6. Windows反调试技术(上)

    写在前面 在逆向工程中为了防止破解者调试软件,通常都会在软件中采用一些反调试技术来防破解.下面就是一些在逆向工程中常见的反调试技巧与示例. BeingDebuged 利用调试器加载程序时调试器会通过C ...

  7. MindSpore模型验证

    技术背景 在前面一篇博客中,我们介绍了MindSpore在机器学习过程中保存和加载模型的方法.这种将模型存储为静态文件的做法,使得我们可以更灵活的使用训练出来的模型,比如用于各种数据集的验证,或者是迁 ...

  8. Docker网络,手把手教你如何实现容器网络相关知识

    Docker网络 理解Docker0 清空所有环境 测试 三个网络 #问题:docker 是如何处理容器网络访问的? [root@hsStudy /]# docker run -d -P --name ...

  9. [c++] 模板、迭代器、泛型

    模板 函数模板:重载的进一步抽象,只需定义一个函数体即可用于所有类型 在C++中,数据的类型也可以通过参数来传递,在函数定义时可以不指明具体的数据类型,当发生函数调用时,编译器可以根据传入的实参自动推 ...

  10. curl: (35) SSL connect error

    curl: (35) SSL connect error weixin_34212762 2018-02-23 20:16:23  230  收藏 文章标签: 运维 版权 阿里云的机器,昨晚githu ...