猿问

lang优化级别

海合会,手动解释什么-O3,-Os等转化为在特定的优化参数方面(-funswitch-loops,-fcompare-elim,等)


我正在为clang寻找相同的信息。


我在网上看过,man clang并且只提供一般信息(-O2优化多于-O1,-Os针对速度进行了优化,…),还在此处查看Stack Overflow并发现了这一点,但是在引用的源文件中没有发现任何相关信息。


编辑:我找到了答案,但是我仍然很感兴趣是否有人链接到用户手册,该手册记录了所有优化过程以及所选择的过程。目前,我仅找到此通行证列表,但在优化级别上却一无所获。-Ox


开心每一天1111
浏览 717回答 3
3回答

慕丝7291255

准确地描述了已启用的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 -helpclang -cc1 -helpclang -cc1 -mllvm -helpclang -cc1 -mllvm -help-list-hiddenclang -cc1as -help
随时随地看视频慕课网APP
我要回答