命令スケジューリング
命令スケジューリングは、レジスタ割り付けの前後あるいはその両方で実行することができる。レジスタ割付の前に実行することの利点は、並列性が最大化されることである。逆に問題は、レジスタ割り当ての際割り当てられないほど多数のレジスタを必要とすることである。これにより、メモリへの書き出し、メモリからの読み込みのコードを生成せざるを得ず、問題のコードの性能が低下する。
スケジュール対象のアーキテクチャに組み合わせられない命令列がある場合には、レジスタ割り当ての後に命令スケジューリングを実行する必要がある。二回目のスケジューリングを行うと、メモリ読み書きのコードの位置を改善することができる。
スケジューリングがレジスタ割り当ての後にのみ実行されると、レジスタ割り当てによって導入された偽の依存関係により、スケジュールが移動できる命令の数が制限される可能性がある。