opt - LLVM 優化器¶
概要¶
opt [選項] [檔案名稱]
描述¶
opt 命令是模組化的 LLVM 優化器和分析器。它將 LLVM 原始碼檔案作為輸入,在其上執行指定的優化或分析,然後輸出優化後的檔案。可通過 opt 使用的優化取決於連結到其中的程式庫,以及使用 -load
選項載入的任何其他程式庫。使用 -help
選項可確定您可以使用的優化。
如果命令列中省略了 檔案名稱
或為 “-
”,則 opt 會從標準輸入讀取其輸入。輸入可以是 LLVM 組合語言格式 (.ll
) 或 LLVM 位元碼格式 (.bc
)。
如果未通過 -o
選項指定輸出檔案名稱,則 opt 會將其輸出寫入標準輸出。
選項¶
- -f¶
在終端機上啟用二進制輸出。通常,如果輸出串流是終端機,opt 將拒絕寫入原始位元碼輸出。使用此選項,opt 將寫入原始位元碼,而不管輸出裝置為何。
- -help¶
列印命令列選項的摘要。
- -o <檔案名稱>¶
指定輸出檔案名稱。
- -S¶
以 LLVM 中間語言(而不是位元碼)寫入輸出。
- -strip-debug¶
此選項會讓 opt 在套用其他最佳化之前,先從模組中移除除錯資訊。它與 -strip 基本上相同,但它確保會先移除除錯資訊。
- -verify-each¶
此選項會讓 opt 在命令列上指定的每個階段之後(包括 -verify)新增一個驗證階段。這在懷疑某個階段建立了無效模組,但不清楚是哪個階段造成的情況下很有用。
- -stats¶
列印統計資訊。
- -time-passes¶
記錄每個階段所需的時間,並將其列印到標準錯誤輸出。
- -debug¶
如果這是除錯建置,則此選項將會啟用使用
LLVM_DEBUG()
巨集的階段的除錯列印。如需詳細資訊,請參閱《LLVM 程式設計師手冊》的#DEBUG
章節。
- -load=<plugin>¶
載入動態物件
plugin
。此物件應註冊新的最佳化或分析階段。載入後,該物件將會新增新的命令列選項,以啟用各種最佳化或分析。若要查看新的完整最佳化清單,請同時使用-help
和-load
選項。例如opt -load=plugin.so -help
- -print-passes¶
列印所有可用的階段並結束。
結束狀態¶
如果 opt 成功,它將會以 0 結束。否則,如果發生錯誤,它將會以非零值結束。