4

最近用gcc编译了一个程序,但是用-O1优化选项的时候就出错了;使用时没有问题-O0。所以我用-O1官方文档说的那些选项替换了-fauto-inc-dec, -fcompare-elim,-fcprop-registers等。但是,它工作正常,没有任何错误,但性能不是很好。

我想知道是否-O1相当于那些小编译选项?

4

2 回答 2

3

完全打开优化 ( -O1vs ) 会以标志无法控制-O0的方式更改代码生成。请注意gcc 文档-f中的这句话:

并非所有优化都直接由标志控制。本节仅列出具有标志的优化。

一些细节取决于非常具体的 gcc 版本号(例如,gcc 4.2 与 gcc 4.5、4.9 等)。

于 2013-08-06T06:19:08.530 回答
1

-O1打开以下优化标志:

      -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
于 2013-08-06T03:12:49.277 回答