跳转到内容

LLVM 编译器

25% developed
来自维基教科书,开放的书籍,为一个开放的世界

LLVM 编译器基础设施项目是一套编译器和工具链技术,可用于开发任何编程语言的前端和任何指令集体系结构的后端。LLVM 的设计围绕着一种与语言无关的中间表示 (IR),它充当一种可移植的高级汇编语言,可以通过多个遍上的各种转换进行优化。

安装

主要组件

[编辑 | 编辑源代码]

LLVM 包含一个组件列表

OpenMP 支持

[编辑 | 编辑源代码]

OpenMP 支持 中了解更多

随着 Clang 3.8.0 的发布,OpenMP 3.1 支持在 Clang 中默认启用,因此 OpenMP 运行时作为 Clang 构建的正常部分构建,并与二进制发行版一起分发。因此,您无需显式签出此代码或在树外构建它;正常的 Clang 签出和构建将自动包括构建这些运行时库。

https://openmp.llvm.org/


cmake -G Ninja -DCMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=$LLVM_PATH -DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra;compiler-rt;openmp" -DCLANG_BUILD_EXAMPLES=1 $LLVM_SRC/llvm

ninja install -j8 -l8

开发支持

[编辑 | 编辑源代码]

LLVM 的代码审查由 Phabricator 处理 https://reviews.llvm.org/。回归测试由 Buildbot 运行 http://lab.llvm.org:8011/,使用 https://github.com/llvm/llvm-test-suite 下的测试套件。


LLVM 使用 Buildbot 运行一些回归测试。

他们的网站具有 JSON API:http://lab.llvm.org:8011/json/help

以 OpenMP 测试的 API 结果为例

此获取请求将获取一个 json 文件,其中包含每个步骤日志的链接以及其他信息。您可以检查链接中的日志文件以查看所使用的命令行。例如:以下是配置步骤的日志文件

华夏公益教科书