bb_state
static void generate_copy(struct bb_state *state, struct instruction *insn)
static void generate_cast(struct bb_state *state, struct instruction *insn)
static void generate_output_storage(struct bb_state *state);
static void generate_branch(struct bb_state *state, struct instruction *br)
static void generate_switch(struct bb_state *state, struct instruction *insn)
static void generate_ret(struct bb_state *state, struct instruction *ret)
static void generate_call(struct bb_state *state, struct instruction *insn)
static void generate_select(struct bb_state *state, struct instruction *insn)
static struct asm_arg *generate_asm_inputs(struct bb_state *state, struct asm_constraint_list *list, struct asm_arg *arg)
static struct asm_arg *generate_asm_outputs(struct bb_state *state, struct asm_constraint_list *list, struct asm_arg *arg)
static void generate_asm(struct bb_state *state, struct instruction *insn)
static void generate_compare(struct bb_state *state, struct instruction *insn)
static void generate_one_insn(struct instruction *insn, struct bb_state *state)
static void write_reg_to_storage(struct bb_state *state, struct hardreg *reg, pseudo_t pseudo, struct storage *storage)
static void write_val_to_storage(struct bb_state *state, pseudo_t src, struct storage *storage)
static void fill_output(struct bb_state *state, pseudo_t pseudo, struct storage *out)
static int final_pseudo_flush(struct bb_state *state, pseudo_t pseudo, struct hardreg *reg)
static void generate_output_storage(struct bb_state *state)
static const char *show_op(struct bb_state *state, struct operand *op)
static void generate(struct basic_block *bb, struct bb_state *state)
static void mark_used_registers(struct basic_block *bb, struct bb_state *state)
struct bb_state state;
static void FORMAT_ATTR(2) output_line(struct bb_state *state, const char *fmt, ...)
static void FORMAT_ATTR(2) output_label(struct bb_state *state, const char *fmt, ...)
static void FORMAT_ATTR(2) output_insn(struct bb_state *state, const char *fmt, ...)
static void FORMAT_ATTR(2) output_comment(struct bb_state *state, const char *fmt, ...)
static void alloc_stack(struct bb_state *state, struct storage *storage)
static int can_regenerate(struct bb_state *state, pseudo_t pseudo)
static void flush_one_pseudo(struct bb_state *state, struct hardreg *hardreg, pseudo_t pseudo)
static void flush_reg(struct bb_state *state, struct hardreg *reg)
static struct storage_hash *find_pseudo_storage(struct bb_state *state, pseudo_t pseudo, struct hardreg *reg)
static void mark_reg_dead(struct bb_state *state, pseudo_t pseudo, struct hardreg *reg)
static void add_pseudo_reg(struct bb_state *state, pseudo_t pseudo, struct hardreg *reg)
static struct hardreg *preferred_reg(struct bb_state *state, pseudo_t target)
static struct hardreg *empty_reg(struct bb_state *state)
static struct hardreg *target_reg(struct bb_state *state, pseudo_t pseudo, pseudo_t target)
static struct hardreg *find_in_reg(struct bb_state *state, pseudo_t pseudo)
static void flush_pseudo(struct bb_state *state, pseudo_t pseudo, struct storage *storage)
static void flush_cc_cache_to_reg(struct bb_state *state, pseudo_t pseudo, struct hardreg *reg)
static void flush_cc_cache(struct bb_state *state)
static void add_cc_cache(struct bb_state *state, int opcode, pseudo_t pseudo)
static struct hardreg *fill_reg(struct bb_state *state, struct hardreg *hardreg, pseudo_t pseudo)
static struct hardreg *getreg(struct bb_state *state, pseudo_t pseudo, pseudo_t target)
static void move_reg(struct bb_state *state, struct hardreg *src, struct hardreg *dst)
static struct hardreg *copy_reg(struct bb_state *state, struct hardreg *src, pseudo_t target)
static void put_operand(struct bb_state *state, struct operand *op)
static struct operand *get_register_operand(struct bb_state *state, pseudo_t pseudo, pseudo_t target)
static int get_sym_frame_offset(struct bb_state *state, pseudo_t pseudo)
static struct operand *get_generic_operand(struct bb_state *state, pseudo_t pseudo)
static const char *generic(struct bb_state *state, pseudo_t pseudo)
static struct operand *get_address_operand(struct bb_state *state, struct instruction *memop)
static const char *address(struct bb_state *state, struct instruction *memop)
static const char *reg_or_imm(struct bb_state *state, pseudo_t pseudo)
static struct hardreg *target_copy_reg(struct bb_state *state, struct hardreg *src, pseudo_t target)
static void do_binop(struct bb_state *state, struct instruction *insn, pseudo_t val1, pseudo_t val2)
static void generate_binop(struct bb_state *state, struct instruction *insn)
static int is_dead_reg(struct bb_state *state, pseudo_t pseudo, struct hardreg *reg)
static void generate_commutative_binop(struct bb_state *state, struct instruction *insn)
static void mark_pseudo_dead(struct bb_state *state, pseudo_t pseudo)
static void kill_dead_pseudos(struct bb_state *state)
static void generate_store(struct instruction *insn, struct bb_state *state)
static void generate_load(struct instruction *insn, struct bb_state *state)
static void kill_pseudo(struct bb_state *state, pseudo_t pseudo)