osprey/kg++fe/gnu/ra.c File Reference

#include "config.h"
#include "system.h"
#include "rtl.h"
#include "tm_p.h"
#include "insn-config.h"
#include "recog.h"
#include "reload.h"
#include "integrate.h"
#include "function.h"
#include "regs.h"
#include "obstack.h"
#include "hard-reg-set.h"
#include "basic-block.h"
#include "df.h"
#include "expr.h"
#include "output.h"
#include "toplev.h"
#include "flags.h"
#include "ra.h"

Include dependency graph for ra.c:

Go to the source code of this file.

Functions/Subroutines

static void create_insn_info PARAMS ((struct df *))
static void free_insn_info PARAMS ((void))
static void free_all_mem PARAMS ((struct df *df))
static int one_pass PARAMS ((struct df *, int))
voidra_alloc (size_t size)
voidra_calloc (size_t size)
int hard_regs_count (HARD_REG_SET rs)
rtx ra_emit_move_insn (rtx x, rtx y)
static void create_insn_info (struct df *df)
static void free_insn_info ()
struct webfind_subweb (struct web *web, rtx reg)
struct webfind_subweb_2 (struct web *web, unsigned int size_word)
struct webfind_web_for_subweb_1 (struct web *subweb)
int hard_regs_intersect_p (HARD_REG_SET *a, HARD_REG_SET *b)
static void alloc_mem (struct df *df)
static void free_mem (df)
static void free_all_mem (struct df *df)
static int one_pass (struct df *df, int rebuild)
static void init_ra ()
static void check_df (struct df *df)
void reg_alloc ()

Variables

static struct obstack ra_obstack
sbitmap igraph
sbitmap sup_igraph
sbitmap insns_with_deaths
int death_insns_max_uid
struct web_partweb_parts
unsigned int num_webs
unsigned int num_subwebs
unsigned int num_allwebs
struct web ** id2web
struct webhardreg2web [FIRST_PSEUDO_REGISTER]
struct web ** def2web
struct web ** use2web
struct move_listwl_moves
int ra_max_regno
short * ra_reg_renumber
struct dfdf
bitmaplive_at_end
int ra_pass
unsigned int max_normal_pseudo
int an_unusable_color
struct dlistweb_lists [(int) LAST_NODE_TYPE]
unsigned int last_def_id
unsigned int last_use_id
unsigned int last_num_webs
int last_max_uid
sbitmap last_check_uses
unsigned int remember_conflicts
int orig_max_uid
HARD_REG_SET never_use_colors
HARD_REG_SET usable_regs [N_REG_CLASSES]
unsigned int num_free_regs [N_REG_CLASSES]
HARD_REG_SET hardregs_for_mode [NUM_MACHINE_MODES]
unsigned char byte2bitcount [256]
unsigned int debug_new_regalloc = -1
int flag_ra_biased = 0
int flag_ra_improved_spilling = 0
int flag_ra_ir_spilling = 0
int flag_ra_optimistic_coalescing = 0
int flag_ra_break_aliases = 0
int flag_ra_merge_spill_costs = 0
int flag_ra_spill_every_use = 0
int flag_ra_dump_notes = 0
int insn_df_max_uid
struct ra_insn_infoinsn_df
static struct ref ** refs_for_insn_df
static long ticks_build
static long ticks_rebuild


Function Documentation

static void alloc_mem ( struct df df  )  [static]

Definition at line 368 of file ra.c.

References BITMAP_XMALLOC, create_insn_info(), i, last_basic_block, ra_build_realloc(), and xmalloc().

Referenced by gcse_after_reload_main(), and reg_alloc().

static void check_df ( struct df df  )  [static]

static void create_insn_info ( struct df df  )  [static]

struct web* find_subweb ( struct web web,
rtx  reg 
) [read]

struct web* find_subweb_2 ( struct web web,
unsigned int  size_word 
) [read]

struct web* find_web_for_subweb_1 ( struct web subweb  )  [read]

Definition at line 340 of file ra.c.

static void free_all_mem ( struct df df  )  [static]

static void free_insn_info (  )  [static]

Definition at line 288 of file ra.c.

References free(), and NULL.

Referenced by free_mem().

static void free_mem ( df   )  [static]

Definition at line 387 of file ra.c.

References free_insn_info(), and ra_build_free().

Referenced by gcse_after_reload_main(), and reg_alloc().

int hard_regs_count ( HARD_REG_SET  rs  ) 

Definition at line 185 of file ra.c.

References count.

Referenced by combine(), init_one_web_common(), init_ra(), and remember_web_was_spilled().

static int hard_regs_intersect_p ( HARD_REG_SET *  a,
HARD_REG_SET *  b 
)

static void init_ra (  )  [static]

static int one_pass ( struct df df,
int  rebuild 
) [static]

Definition at line 419 of file ra.c.

References actual_spill(), build_i_graph(), clock, dump_igraph_machine(), get_max_uid(), ra_colorize_graph(), SPILLED, and WEBS.

Referenced by reg_alloc().

static int one_pass PARAMS ( (struct df *, int)   )  [static]

static void free_all_mem PARAMS ( (struct df *df  )  [static]

static void free_insn_info PARAMS ( (void  )  [static, read]

Definition at line 77 of file cplus-dem.c.

static void create_insn_info PARAMS ( (struct df *)   )  [static]

void* ra_alloc ( size_t  size  ) 

void* ra_calloc ( size_t  size  ) 

Definition at line 174 of file ra.c.

References memset, obstack_alloc, p, and ra_obstack.

Referenced by build_worklists(), init_one_web_common(), and remember_move().

rtx ra_emit_move_insn ( rtx  x,
rtx  y 
)

Definition at line 220 of file ra.c.

References emit_insn(), emit_move_insn(), gen_move_insn(), GET_MODE, GET_MODE_CLASS, mode, and MODE_CC.

Referenced by emit_loads(), insert_stores(), and rewrite_program().

void reg_alloc ( void   ) 

Definition at line 647 of file ra.c.

Referenced by main(), and rest_of_compilation().


Variable Documentation

unsigned char byte2bitcount[256]

Definition at line 149 of file ra.c.

Definition at line 113 of file ra.c.

Referenced by actual_spill(), and live_out_1().

unsigned int debug_new_regalloc = -1

Definition at line 127 of file ra.c.

Referenced by Perform_Interprocedural_Analysis().

int flag_ra_biased = 0

Definition at line 152 of file ra.c.

Referenced by colorize_one_web(), and get_biased_reg().

Definition at line 156 of file ra.c.

Referenced by default_spill_heuristic(), and ra_colorize_graph().

Definition at line 159 of file ra.c.

Referenced by ra_print_rtl_with_bb().

Definition at line 153 of file ra.c.

Referenced by actual_spill().

Definition at line 154 of file ra.c.

Referenced by rewrite_program2().

Definition at line 157 of file ra.c.

Referenced by combine(), and recolor_spills().

Definition at line 155 of file ra.c.

Referenced by colorize_one_web(), moves_to_webs(), and ra_colorize_graph().

Definition at line 158 of file ra.c.

Referenced by rewrite_program().

struct web* hardreg2web[FIRST_PSEUDO_REGISTER]

HARD_REG_SET hardregs_for_mode[NUM_MACHINE_MODES]

Definition at line 148 of file ra.c.

Referenced by prune_hardregs_for_mode().

Definition at line 230 of file ra.c.

Referenced by insert_stores().

Definition at line 112 of file ra.c.

Referenced by actual_spill(), detect_spill_temps(), live_out_1(), and livethrough_conflicts_bb().

unsigned int last_def_id

Definition at line 136 of file ra.c.

Referenced by init_web_parts(), parts_to_webs_1(), and ra_build_realloc().

Definition at line 139 of file ra.c.

Referenced by insert_stores(), ra_build_realloc(), and update_regnos_mentioned().

unsigned int last_num_webs

Definition at line 138 of file ra.c.

Referenced by parts_to_webs(), and parts_to_webs_1().

unsigned int last_use_id

Definition at line 128 of file ra.c.

Referenced by live_in_edge(), propagate_one_insn(), and rewrite_program2().

unsigned int max_normal_pseudo

HARD_REG_SET never_use_colors

unsigned int num_allwebs

Definition at line 119 of file ra.c.

Referenced by parts_to_webs().

unsigned int num_free_regs[N_REG_CLASSES]

Definition at line 147 of file ra.c.

unsigned int num_subwebs

unsigned int num_webs

Definition at line 143 of file ra.c.

Referenced by detect_remat_webs(), and detect_spill_temps().

Definition at line 125 of file ra.c.

Referenced by dump_constraints(), emit_colors(), and setup_renumber().

Definition at line 85 of file ra.c.

Referenced by free_all_mem(), init_ra(), ra_alloc(), and ra_calloc().

int ra_pass

Definition at line 129 of file ra.c.

Referenced by build_worklists(), conflicts_between_webs(), parts_to_webs_1(), and rewrite_program2().

Definition at line 126 of file ra.c.

Referenced by dump_constraints(), emit_colors(), and setup_renumber().

Definition at line 232 of file ra.c.

unsigned int remember_conflicts

Definition at line 141 of file ra.c.

Referenced by add_conflict_edge().

long ticks_build [static]

Definition at line 412 of file ra.c.

long ticks_rebuild [static]

Definition at line 413 of file ra.c.

HARD_REG_SET usable_regs[N_REG_CLASSES]

Definition at line 146 of file ra.c.

Referenced by colorize_one_web(), handle_asm_insn(), and Usable_Registers().

struct dlist* web_lists[(int) LAST_NODE_TYPE]

Definition at line 134 of file ra.c.


Generated on Wed Apr 8 15:42:17 2009 for Open64 by  doxygen 1.5.6