Introduction
When a program runs, it needs to use the computer's fast storage spots called registers to hold data temporarily. But there are only a few registers available, so the compiler must decide how to share them efficiently among many variables. This process is called register allocation and assignment.