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
添加回答
举报