LLVM源码

LLVM 源码工程目录介绍

llvm_examples_ - 使用 LLVM IR 和 JIT 的例子。
llvm_include_ - 导出的头文件。
llvm_lib_ - 主要源文件都在这里。
llvm_project_ - 创建自己基于 LLVM 的项目的目录。
llvm_test_ - 基于 LLVM 的回归测试,健全检察。
llvm_suite_ - 正确性,性能和基准测试套件。
llvm_tools_ - 基于 lib 构建的可以执行文件,用户通过这些程序进行交互,-help 可以查看各个工具详细使用。
llvm_utils_ - LLVM 源代码的实用工具,比如,查找 LLC 和 LLI 生成代码差异工具, Vim 或 Emacs 的语法高亮工具等。

lib 目录介绍

llvm_lib_IR/ - 核心类比如 Instruction 和 BasicBlock。
llvm_lib_AsmParser/ - 汇编语言解析器。
llvm_lib_Bitcode/ - 读取和写入字节码
llvm_lib_Analysis/ - 各种对程序的分析,比如 Call Graphs,Induction Variables,Natural Loop Identification 等等。
llvm_lib_Transforms/ - IR-to-IR 程序的变换。
llvm_lib_Target/ - 对像 X86 这样机器的描述。
llvm_lib_CodeGen/ - 主要是代码生成,指令选择器,指令调度和寄存器分配。
llvm_lib_ExecutionEngine/ - 在解释执行和JIT编译场景能够直接在运行时执行字节码的库。

工具链命令介绍
基本命令

llvm-as - 汇编器,将 .ll 汇编成字节码。
llvm-dis - 反汇编器,将字节码编成可读的 .ll 文件。
opt - 字节码优化器。
llc - 静态编译器,将字节码编译成汇编代码。
lli - 直接执行 LLVM 字节码。
llvm-link - 字节码链接器,可以把多个字节码文件链接成一个。
llvm-ar - 字节码文件打包器。
llvm-lib - LLVM lib.exe 兼容库工具。
llvm-nm - 列出字节码和符号表。
llvm-config - 打印 LLVM 编译选项。
llvm-diff - 对两个进行比较。
llvm-cov - 输出 coverage infomation。
llvm-profdata - Profile 数据工具。
llvm-stress - 生成随机 .ll 文件。
llvm-symbolizer - 地址对应源码位置,定位错误。
llvm-dwarfdump - 打印 DWARF。

调试工具

bugpoint - 自动测试案例工具
llvm-extract - 从一个 LLVM 的模块里提取一个函数。
llvm-bcanalyzer - LLVM 字节码分析器。

开发工具

FileCheck - 灵活的模式匹配文件验证器。
tblgen - C++ 代码生成器。
lit - LLVM 集成测试器。
llvm-build - LLVM 构建工程时需要的工具。
llvm-readobj - LLVM Object 结构查看器。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值