GCC documentationは特に冗長ではありません。何それは言うことです:GCCの高価な最適化とは何ですか?
ある ?どんな例ですか?-fexpensive-の最適化:これらの最適化の種類
Perform a number of minor optimizations that are relatively expensive.
GCC documentationは特に冗長ではありません。何それは言うことです:GCCの高価な最適化とは何ですか?
ある ?どんな例ですか?-fexpensive-の最適化:これらの最適化の種類
Perform a number of minor optimizations that are relatively expensive.
私は^ H^H^Hの専門家は、このの多くを作ることができるように、多分誰かがそれを構築することができますコンパイラジーの十分ではありませんよ...
GCCの関連ビットをすることができ(あなたがしようとすると全体のことをチェックアウトしていない場合は)簡単に十分に得られ:
svn co --depth=immediates svn://gcc.gnu.org/svn/gcc/trunk/gcc gcc
cd gcc
svn --set-depth infinity update config c cp
を(少なくとも、それは私がで何かを発見したC/C++に関連したように見えたサブセットです。もしあれば、他のディレクトリを追加他の言語に興味がありますgccがサポートします)
そして次に
は、少数のファイルに対して画面の価値(35行)のヒットを生成します。もっと詳細な分析を投稿するために他の人に任せておきます(もし誰かが本当に気にしていれば)。
彼らのカップルが私の目を引っ張った。私は(執筆時点で)ことは言うだろう:cp/
でflag_expensive_optimizations
の唯一の言及(C++ サポート)は、コードのセクションにある
/* Handle ordinary C++ destructors. */
をコメントして LOOKUP_NONVIRTUAL
フラグの設定に影響を与えているようです、関連するコメント付き/* Optimize for space over speed here. */
プロセッサ固有のconfig /ディレクトリ(sparc、alpha、sh、i386)にはいくつかのヒットがあります。 i386のみ1サイズのために最適化していないときTARGET_AVX
に適用され、いくつかの他のヒットを一瞥は、私はちょうどGCCのレベルでこの機能の私の知識を残すために、コンテンツである必要があり、私を説得し/* When not optimize for size, enable vzeroupper optimization for TARGET_AVX with -fexpensive-optimizations and split 32-byte AVX unaligned load/store. */
をコメントしていますドキュメンテーション。