最近、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