HOME | DEUTSCH | IMPRESSUM | KIT

bachelor thesis (finished): Register allocation with register pairs

Register allocation is the compile phase that assigns hardware registers to a program's values. Having good register allocation is very important for the compiled program's performance, because it helps to reduce the number of memory accesses.

This thesis is concerned with allocating floating point registers on SPARC processors. These are special in that either a single register can hold a float value, or two registers can be combined into a pair to hold a double value. The compiler library libfirm, which we develop, cannot handle pairs of registers yet. Your task is to add support for this case.

Task:

  • Development of a pair-aware register allocation algorithm
  • Integrating this algorithm into libfirm

Prerequisits

  • Knowledge of C
  • Interest in compiler construction

Keywords

compiler, register allocation 

Publications

Publication
SSA-basierte Doppelregisterallokation

Advisors

Scientific Staff
Andreas Fried