对 Getting Started with the LLVM System 的部分翻译 & 学习笔记
总览
LLVM项目包含工具、运行库、(需要被处理为中间表示并转换为目标平台文件的)头文件、libc++(STL的一个实现)、lld(链接器)在内的诸多元素,工具包括汇编器、反汇编器、bitcode分析器/优化器,以及基本的回归测试等。
bitcode是llvm ir的一种二进制编码格式
可以看到对于LLVM-Core而言只包含了中间表示和后端生成部分,与C/C++对应的前端Clang独立
获取源码 & 构建LLVM
拉取最新的仓库
git clone --depth 1 https://github.com/llvm/llvm-project.git |
构建一个带调试信息的llvm,编译并运行LLVM tests
因为在arm上,不需要别的build
cmake -S llvm -B build -G Ninja -DCMAKE_BUILD_TYPE=Debug -DLLVM_TARGETS_TO_BUILD="ARM" -DLLVM_USE_LINKER=lld |