跳轉到內容

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 檔案,其中包含每個步驟日誌的連結以及其他資訊。您可以檢查連結中的日誌檔案以檢視所使用的命令列。例如:以下是配置步驟的日誌檔案

華夏公益教科書