最近用gcc编译了一个程序,但是用-O1
优化选项的时候就出错了;使用时没有问题-O0
。所以我用-O1
官方文档说的那些选项替换了-fauto-inc-dec
, -fcompare-elim
,-fcprop-registers
等。但是,它工作正常,没有任何错误,但性能不是很好。
我想知道是否-O1
相当于那些小编译选项?
最近用gcc编译了一个程序,但是用-O1
优化选项的时候就出错了;使用时没有问题-O0
。所以我用-O1
官方文档说的那些选项替换了-fauto-inc-dec
, -fcompare-elim
,-fcprop-registers
等。但是,它工作正常,没有任何错误,但性能不是很好。
我想知道是否-O1
相当于那些小编译选项?
完全打开优化 ( -O1
vs ) 会以标志无法控制-O0
的方式更改代码生成。请注意gcc 文档-f
中的这句话:
并非所有优化都直接由标志控制。本节仅列出具有标志的优化。
一些细节取决于非常具体的 gcc 版本号(例如,gcc 4.2 与 gcc 4.5、4.9 等)。
-fauto-inc-dec
-fcompare-elim
-fcprop-registers
-fdce
-fdefer-pop
-fdelayed-branch
-fdse
-fguess-branch-probability
-fif-conversion2
-fif-conversion
-fipa-pure-const
-fipa-profile
-fipa-reference
-fmerge-constants
-fsplit-wide-types
-ftree-bit-ccp
-ftree-builtin-call-dce
-ftree-ccp
-ftree-ch
-ftree-copyrename
-ftree-dce
-ftree-dominator-opts
-ftree-dse
-ftree-forwprop
-ftree-fre
-ftree-phiprop
-ftree-slsr
-ftree-sra
-ftree-pta
-ftree-ter
-funit-at-a-time