parrotcode: compilers/imcc/reg_alloc.c | |
Contents | Compilers |
compilers/imcc/reg_alloc.c
Register allocator:
This is a brute force register allocator. It uses a graph-coloring algorithm, but the implementation is very kludgy.
It is a partial implementation of a Briggs-style register allocator The following parts are just missing:
- Renumbering
- Coaelesceing
static unsigned int *ig_get_word
static void ig_set
unsigned int ig_test
static unsigned int *ig_allocate
void imc_reg_alloc
void free_reglist
void graph_coloring_reg_alloc
static void make_stat
static void imc_stat_init
static void print_stat
static int reg_sort_f
static void sort_reglist
static void build_reglist
static void rebuild_reglist
static void build_interference_graph
static void compute_du_chain
static void compute_one_du_chain
static int interferes
static int ig_find_color
static int try_allocate
static void map_colors
static int first_avail
static void allocate_uniq
static void vanilla_reg_alloc
static void allocate_lexicals
static void allocate_non_volatile
|