2013-02-10 42 views
11

C++プログラムの逆アセンブリを見ると、_Z41__static_initialization_and_destruction_0ii.constprop.221のような機能があります。この場合、constpropの意味は何ですか?外見は接尾辞israと似ているようですが(例:.isra.124.constprop.226など)、他の意味があります。GCCの機能接尾辞.constpropは何を意味していますか?

答えて

3

私が読んだのは、最適化中にクローンされた機能を示しています。

EDIT:これは答えかもしれません。

シンプル定数伝播

このファイルには、定数伝播とマージを実装しています。定数オペランドのみを含む命令を探し、それらを命令の代わりに一定の値に置き換えます。たとえば:

add i32 1, 2 

i32 3 

NOTE次のようになります。このパスは、定義が死んで作るの習慣を持っています。このパスを実行した後でいつかDIE(Dead Instruction Elimination)パスを実行することをお勧めします。

SOURCE

+0

あなたが実行されているものを、最適化を知ることが起こるのですか? – nneonneo

+0

答えが更新されました... – zaf

+0

Cool。複数のバージョンの関数を作成するため、プロシージャ間の連続的な手続きが必要なようです。この文書はLLVM用ですが、GCCにも同様のことが当てはまるはずです。 – nneonneo

関連する問題