What Does Register Allocation Mean?

  • On a basic block, known as local register allocation
  • Over an entire function or procedure, known as global register allocation
  • Over function boundaries traversed by means of a call graph, known as inter-procedural register allocation

Techopedia Explains Register Allocation

  • Local register allocation: This is a process of allocating one basic block (or hyper block or super block) at a time. Local register allocation boosts speed.
  • Global register allocation: If the register utilization is poor using local allocation, it is important to make use of global register allocation. In simple global register allocation, the most active values are allocated in every inner loop. Full global register allocation uses a procedure to identify live ranges in a control flow graph, assign live ranges and also split ranges as required.