Skip to content
Latchkey

レジスタ割り当てとは?

レジスタ割り当ては、プログラムが使う多数の値を、CPUの小さく固定された数のレジスタに割り当てるコード生成のフェーズです。レジスタよりも生存している値が多い場合、一部はメモリへスピルされ、後で再ロードされます。しばしばグラフ彩色としてモデル化される良い割り当ては、そのコストの高いスピルを最小化します。

なぜ重要か

レジスタはメモリよりはるかに高速なので、値がどのように割り当てられるかは生成コードの速度を直接左右します。過度なスピルは、コンパイル結果が期待より遅くなる一般的な原因です。

関連ガイド