The LLVM Compiler Infrastructure

LLVM 是一个模块化、可重用的编译器和工具链技术集合,包含Clang、LLDB、Compiler-RT等子项目。LLVM核心库提供优化器和代码生成器,Clang是快速的C/C++/Objective-C编译器,LLDB是高效的调试器。除此之外,LLVM还支持如Polly这样的高级别优化器和OpenMP并行编译框架。LLVM的广泛应用包括多种语言的编译,并以其通用性、灵活性和可重用性受到青睐。

https://llvm.org/

  1. LLVM概述
    1. LLVM开始于伊利诺伊大学的一个研究项目,最终成为一个模块化、可重用的编译器和工具链技术的集合,其中,LLVM不是缩写而是全称。
    2. LLVM最重要的子项目
      1. LLVM核心库(编译优化框架):提供了一个独立于源和目标的现代优化器,并对支持许多流行cpu的代码生成。这些库是利用LLVM IR进行构建的,并且支持创建自己的语言(或移植现有的编译器)来使用LLVM作为优化器和代码生成器。
      2. Clang:是一个LLVM本地的C/ C++ /Objective-C编译器,它的目标是提供惊人的快速编译,极其有用的错误和警告消息,并为构建优秀的源代码级工具提供一个平台。Clang静态分析器和clang-tidy是可以自动发现代码中的bug的工具,它们是可以使用Clang前端作为解析C/ c++代码的库来构建的工具的很好的例子。
      3. LLDB:是一个优秀的本机调试器,非常快,而且在加载符号时比GDB的内存效率高得多。
      4. libc++和libc++ ABI:提供了符合标准的c++标准库的高性能实现,包括对c++ 11和c++ 14的完全支持。
      5. Compiler-RT(RT指运行时):用于为硬件不支持的低级功能提供特定于目标的支持。例如,32位目标通常缺少支持64位除法的指令。Compiler-RT通过提供特定于目标并经过优化的功能来解决这个问题,该功能在使用32位指令的同时实现了64位除法。它提供相同的功能,因此是LLVM项目中libgcc的替代品。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值