GCC Middle and Back End API Reference
|
#include <regs.h>
Data Fields | |
int | sets |
int | refs |
REG_N_REFS and REG_N_SETS are initialized by a call to regstat_init_n_sets_and_refs from the current values of DF_REG_DEF_COUNT and DF_REG_USE_COUNT. REG_N_REFS and REG_N_SETS should only be used if a pass need to change these values in some magical way or the pass needs to have accurate values for these and is not using incremental df scanning.
At the end of a pass that uses REG_N_REFS and REG_N_SETS, a call should be made to regstat_free_n_sets_and_refs.
Local alloc seems to play pretty loose with these values. REG_N_REFS is set to 0 if the register is used in an asm. Furthermore, local_alloc calls regclass to hack both REG_N_REFS and REG_N_SETS for three address insns. Other passes seem to have other special values. Structure to hold values for REG_N_SETS (i) and REG_N_REFS (i).
int regstat_n_sets_and_refs_t::refs |
int regstat_n_sets_and_refs_t::sets |