3 回答

TA貢獻1859條經驗 獲得超6個贊
準確地描述了已啟用的LLVM優化,但是還有其他一些受Clang影響的特定于Clang的選項(即那些影響降低AST的-O[0|1|2|3|fast]選項)。
您可以通過以下方式查看這些內容:
echo 'int;' | clang -xc -O0 - -o /dev/null -\#\#\#
echo 'int;' | clang -xc -O1 - -o /dev/null -\#\#\#
echo 'int;' | clang -xc -O2 - -o /dev/null -\#\#\#
echo 'int;' | clang -xc -O3 - -o /dev/null -\#\#\#
echo 'int;' | clang -xc -Ofast - -o /dev/null -\#\#\#
例如,-O0能夠使-mrelax-all,-O1使-vectorize-loops和-vectorize-slp,并-Ofast使得-menable-no-infs,-menable-no-nans,-menable-unsafe-fp-math,-ffp-contract=fast和-ffast-math。
@Techogrebo:
是的,不需要不一定需要其他LLVM工具。嘗試:
echo 'int;' | clang -xc - -o /dev/null -mllvm -print-all-options
另外,您可以單獨使用Clang檢查/修改很多更詳細的選項……您只需要知道如何使用它們即可!
嘗試以下幾種方法:
clang -help
clang -cc1 -help
clang -cc1 -mllvm -help
clang -cc1 -mllvm -help-list-hidden
clang -cc1as -help
添加回答
舉報