Wyciek rejestrów – proces przydzielania dużej liczby zmiennych danego programu do małej liczby rejestrów procesora.

Wprowadzenie W wielu językach programowania, programista pracuje na abstrakcji alokując wiele zmiennych. Podczas generowania kodu maszynowego, kompilator musi zdecydować, które zmienne umieści w rejestrach. Nie wszystkie zmienne są w użyciu w każdym momencie wykonania programu, dlatego niektóre rejestry mogą być przypisane do więcej niż jednej zmiennej. Jednak dwie zmienne używane w tym samym czasie nie mogą być przypisane do tego samego rejestru. Zmienne, które nie mogą być zapisane w rejestrze, muszą być przechowywane w pamięci RAM.

Alokacja rejestrów może przebiegać podczas: analizy bloku bazowego – lokalna alokacja rejestrów funkcji lub procedury – globalna alokacja rejestrów całego programu – międzyproceduralna alokacja rejestrów