1. libLLVMCore:该库包含与LLVM IR相关的所有逻辑:IR构造(数据布局、指令、基本块和函数)以及IR校验器。它还负责编管理译器中各种编译流程
  2. libLLVMAnalysis:该库包含几个IR分析过程,如别名分析,依赖分析,常量折叠,循环信息、内存依赖分析和指令简化
  3. libLLVMCodeGen:该库实现与目标无关的代码生成和机器级别(LLVM IR 的更低级版本)的分析和转换
  4. libLLVMTarget:该库通过通用目标抽象来提供对目标机器信息的访问接口。这些高级抽象位libLLVMCodeGen中实现的通用后端算法与为下一个库保留的特定于目标的逻辑之间进行通信提供网关
  5. libLLVMSupport:该库具有特定x86目标的代码生成信息、转换、和分析过程,它们组成x86后端。注意:每个目标机器都有一个不同的库,比如分别实现ARM和MIPS后端的LLVMARMCodeGen和LLVMMipsCodeGen库
  6. libLLVMSupport:该库包括一个通用工具集合。错误、整数和浮点处理、命令行解析、调试、文件支持和字符串处理都是在这个库中实现的算法实例,它们在LLVM各组件中通用
  7. libclang:该库实现一个C接口(而不是C++接口),它是LLVM代码的默认实现语言,可以访问Clang的大部分前端功能:诊断报告、AST遍历、代码完成、游标映射和源代码。由于它使用C语言,使用更简单的接口,因此它允许以其他语言(如python)编写的项目更容易地使用Clang功能,当然C接口设计更为稳定,并允许外部项目依赖它。该库仅涵盖内部LLVM组件所使用的C++接口的一个子集
  8. libclangDriver:该库包含编译器驱动程序工具使用的一组类,用于理解类似于GCC的命令行参数,以便为外部工具完成编译的不同步骤准备作业和组织足够的参数。它可以根据目标平台管理不同的编译策略。
  9. libclangAnalysis:该库由Clang提供的一组前端分析器。它具有CFG和调用图结构、代码可达性、格式字符串安全性等

下面这链接中介绍了LLVM库之间的依赖关系
https://releases.llvm.org/3.0/docs/UsingLibraries.html
LLVM的基本库-LMLPHP
LLVM的基本库-LMLPHP

01-29 05:45