LLVM 命令指南
- 1. 基本命令
- 1.1 [llvm-as](http://llvm.org/docs/CommandGuide/llvm-as.html) —— LLVM汇编器
- 1.2 [llvm-dis](http://llvm.org/docs/CommandGuide/llvm-dis.html) —— LLVM反汇编器
- 1.3 [opt](http://llvm.org/docs/CommandGuide/opt.html) —— LLVM优化器
- 1.4 [llc](http://llvm.org/docs/CommandGuide/llc.html) —— LLVM静态编译器
- 1.5 [lli](http://llvm.org/docs/CommandGuide/lli.html) —— 直接从LLVM字节码执行程序
- 1.6 llvm-link —— LLVM字节码链接器
- 1.7 [llvm-lib](http://llvm.org/docs/CommandGuide/llvm-lib.html) —— LLVM lib.exe 兼容库工具
- 2. GNU binutils 替代品
- 3. 调试工具
- 4. 开发人员工具
本文为译文,点击 此处查看原文。
以下文档是所有 LLVM 工具的命令描述。这些页面描述了如何使用 LLVM 命令及其选项。注意,这些页面并没有描述所有工具可用的所有选项。要获得完整的清单,请将 --help
(通用选项)或 --help-hidden
(通用选项和调试选项)参数传递给您感兴趣的工具。
1. 基本命令
1.1 llvm-as —— LLVM汇编器
1.2 llvm-dis —— LLVM反汇编器
1.3 opt —— LLVM优化器
1.4 llc —— LLVM静态编译器
1.5 lli —— 直接从LLVM字节码执行程序
1.6 llvm-link —— LLVM字节码链接器
1.6.1 用法
llvm-link [options] filename …
1.6.2 描述
llvm-link
接受几个 LLVM 字节码文件,并将它们链接到一个 LLVM 字节码文件中。它将输出文件写入标准输出,除非使用 -o
选项指定文件名。
1.6.3 选项
-f
在终端上启用二进制输出。通常,如果输出流是终端,llvm-link
将拒绝编写原始字节码输出。使用此选项,无论输出设备是什么,llvm-link
都将编写原始字节码。-o filename
指定输出文件名。如果文件名是“-”
,那么llvm-link
将把它的输出写入标准输出。-s
用 LLVM 中间语言(而不是字节码)编写输出。-d
如果指定,llvm-link
将输出字节码文件的可读版本打印为标准错误。-help
打印命令行选项的摘要。-v
详细的模式。打印关于llvm-link
正在做什么的信息。这通常包括针对链接到的每个字节码文件和找到的每个库的一条消息。
1.6.4 退出状态
如果 llvm-link
成功,它将以 0 退出。否则,如果发生错误,它将以非零值退出。
1.7 llvm-lib —— LLVM lib.exe 兼容库工具
- llvm-lipo —— 用于操作通用二进制文件的LLVM工具
- llvm-config —— 打印 LLVM 编译选项
- llvm-cxxmap —— 名称重映射工具
- llvm-diff —— LLVM结构“diff”
- llvm-cov —— 发射覆盖信息
- llvm-profdata —— 配置文件数据工具
- llvm-stress —— 生成随机的 .ll 文件
- llvm-symbolizer —— 将地址转换为源代码位置
- llvm-dwarfdump —— 转储并验证 DWARF 调试信息
- dsymutil —— 操作存档的DWARF调试符号文件
- llvm-mca —— LLVM机器代码分析器
- llvm-readobj —— LLVM目标读取器
2. GNU binutils 替代品
- llvm-addr2line ——
addr2line
的一个临时替代品 - llvm-ar —— LLVM归档器
- llvm-cxxfilt —— 一个符号demangler
- llvm-nm —— 列出LLVM字节码和目标文件的符号表
- llvm-objcopy —— 目标复制工具
- llvm-objdump —— 目标文件转储器
- llvm-ranlib —— 生成存档索引
- llvm-readelf ——
readelf
的一个临时替代品 - llvm-size —— 打印段大小
- llvm-strings —— 打印字符串
- llvm-strip —— 目标剥离工具
3. 调试工具
- bugpoint —— 自动测试用例减少工具
- llvm-extract —— 从LLVM模块中提取一个函数
- llvm-bcanalyzer —— LLVM字节码分析器
4. 开发人员工具
- FileCheck —— 灵活的模式匹配文件验证器
- tblgen —— 目标描述到C++代码生成器
- lit - LLVM集成测试仪
- llvm-build —— LLVM项目构建实用程序
- llvm-exegesis —— LLVM机器指令基准测试
- llvm-pdbutil —— PDB文件取证和诊断