スピルとは
すぴる
レジスタ割り当てで、同時に使う値がレジスタの数より多いとき、一部の値をメモリ(スタック)に退避させること。退避と読み戻しの命令が増えて遅くなる。
この用語の分野: コンパイラ
すぴる
レジスタ割り当てで、同時に使う値がレジスタの数より多いとき、一部の値をメモリ(スタック)に退避させること。退避と読み戻しの命令が増えて遅くなる。
この用語の分野: コンパイラ
スピルは、同時に生きている値がレジスタの数より多いときに、一部の値をメモリ(スタック)に置くことです。
レジスタ割り当てで「スピル」が起こると、生成されるコードはどうなるか。4個では、どこかで1つの値をメモリに退避するスピルが必要になります。
ある関数の中で、同時に生きている値の数が最も多いところで5個だった。干渉グラフがこの5個以外の制約を生まない単純な場合…塗り分けられない場合は、一部の値をメモリに退避(スピル)します。
コンパイラのレジスタ割り当てで、干渉グラフを塗り分ける(彩色する)方法を使うとき、グラフの節と辺が表すものの組み合わせ…レジスタ割り当て GPU インライン展開 SSA形式 LLVM 基本ブロック 共通部分式の削除 強度低減 構文解析 字句解析