|
static void | phi_set_flag (instruction *iptr, phi_flags_t flag) |
|
static void | phi_clear_flag (instruction *iptr, phi_flags_t flag) |
|
static bool | phi_has_flag (const instruction *iptr, phi_flags_t flag) |
|
static instruction * | phi_get_subst (instruction *iptr) |
|
static bool | phi_has_subst (const instruction *iptr) |
|
static void | phi_init (instruction *iptr, unsigned argcount, s4 index) |
|
static s4 | phi_arg_count (const instruction *iptr) |
|
static instruction * | phi_get_arg (const instruction *iptr, unsigned arg) |
|
static s4 | phi_get_arg_var (const instruction *iptr, unsigned arg) |
|
static void | phi_set_all_args (instruction *iptr, instruction *value) |
|
static s4 | phi_get_index (const instruction *iptr) |
|
static s4 | phi_get_dst (const instruction *iptr) |
|
static void | phi_set_dst (instruction *iptr, s4 dst) |
|
static bool | phi_get_used (const instruction *iptr) |
|
static void | phi_set_used (instruction *iptr) |
|
static instruction * | phi_resolve_use (instruction *use) |
|
static void | phi_set_arg (instruction *iptr, unsigned arg, instruction *value) |
|
static bool | phi_is_redundant (const instruction *iptr) |
|
static void | phi_create_copy (instruction *iptr, unsigned arg, instruction *copy) |
|
static void | phi_print (const instruction *iptr) |
|
static void | phi_calculate_redundancy (instruction *iptr) |
|
static void | goto_init (instruction *iptr, basicblock *dst) |
|
static void | instruction_get_uses (const instruction *iptr, s4 *buf, s4 **puses, unsigned *puses_count) |
|
static void | instruction_set_uses (instruction *iptr, s4 *buf, s4 *uses, unsigned uses_count) |
|
static unsigned | vars_add_item (vars_t *vs, const varinfo *item) |
|
static unsigned | vars_add (vars_t *vs) |
|
static varinfo * | vars_back (vars_t *vs) |
|
static void | vars_init (vars_t *vs, unsigned category) |
|
static unsigned | vars_get_category (unsigned varindex) |
|
static unsigned | vars_get_index (unsigned varindex) |
|
static void | vars_subst (vars_t *vs, unsigned varindex, unsigned replacementindex) |
|
static unsigned | vars_resolve_subst (const vars_t *vs, unsigned varindex) |
|
static void | vars_copy_to_final (vars_t *vs, varinfo *dst) |
|
static void | vars_import (vars_t *vs, varinfo *v, unsigned count, s4 old_index) |
|
static void | vars_record_old_index (vars_t *vs, unsigned varindex, s4 old_index) |
|
static s4 | vars_get_old_index (vars_t *vs, unsigned varindex) |
|
static void | phis_init (phis_t *ps, unsigned max) |
|
static instruction * | phis_add (phis_t *ps) |
|
static instruction * | phis_get (const phis_t *ps, unsigned i) |
|
static bool | phis_contains (const phis_t *ps, const instruction *phi) |
|
| FIXME () inline void phis_print(const phis_t *ps) |
|
static unsigned | phis_copy_to (const phis_t *ps, instruction *dst) |
|
static void | state_array_init (state_array_t *sa, unsigned count) |
|
static bool | state_array_has_items (const state_array_t *sa) |
|
static s4 | state_array_get_var (const state_array_t *sa, unsigned index) |
|
static instruction * | state_array_get (const state_array_t *sa, unsigned index) |
|
static void | state_array_set (const state_array_t *sa, unsigned index, instruction *value) |
|
static void | state_array_copy (state_array_t *sa, state_array_t *other) |
|
static void | state_array_allocate_items (state_array_t *sa) |
|
static void | basicblock_chain_init (basicblock_chain_t *bbc) |
|
static void | basicblock_chain_add (basicblock_chain_t *bbc, basicblock *bb) |
|
static basicblock * | basicblock_chain_front (basicblock_chain_t *bbc) |
|
static basicblock * | basicblock_chain_back (basicblock_chain_t *bbc) |
|
static bool | basicblock_chain_empty (const basicblock_chain_t *bbc) |
|
static void | exception_entry_chain_init (exception_entry_chain_t *eec) |
|
static void | exception_entry_chain_add (exception_entry_chain_t *eec, exception_entry *ee) |
|
static bool | exception_entry_chain_empty (const exception_entry_chain_t *eec) |
|
static exception_entry * | exception_entry_chain_back (exception_entry_chain_t *eec) |
|
static exception_entry * | exception_entry_chain_front (exception_entry_chain_t *eec) |
|
void | traversal_init (traversal_t *t, unsigned count, void *ops_vp, traversal_ops_t *ops) |
|
instruction * | traversal_create_phi (traversal_t *t, vars_t *v, unsigned argcount, s4 index) |
|
static void | traversal_rename_def (traversal_t *t, vars_t *vars, instruction *iptr) |
|
static void | traversal_rename_use (traversal_t *t, vars_t *vars, s4 *puse) |
|
static unsigned | traversal_variables_count (traversal_t *t) |
|
unsigned | local_var_num_to_index (void *vp, s4 var) |
|
varinfo * | local_index_to_initial_var (void *vp, unsigned index) |
|
varinfo * | local_var_num_to_varinfo (void *vp, s4 var) |
|
unsigned | local_variables_count (void *vp) |
|
unsigned | inout_var_num_to_index (void *vp, s4 var) |
|
varinfo * | inout_index_to_initial_var (void *vp, unsigned index) |
|
varinfo * | inout_var_num_to_varinfo (void *vp, s4 var) |
|
unsigned | inout_variables_count (void *vp) |
|
void | basicblock_info_init (basicblock_info_t *bbi, basicblock *bb, jitdata *jd) |
|
static basicblock_info_t * | basicblock_info (basicblock *bb) |
|
static unsigned | basicblock_get_predecessor_count (basicblock *bb) |
|
static unsigned | basicblock_get_predecessor_index (basicblock *from, basicblock *to) |
|
static unsigned | basicblock_get_ex_predecessor_index (basicblock *from, unsigned pei, basicblock *to) |
|
void | ssa_info_init (ssa_info_t *ssa, jitdata *jd) |
|
static void | others_mapping_set (ssa_info *ssa, s4 var, s4 new_var) |
|
static s4 | others_mapping_get (const ssa_info *ssa, s4 var) |
|
void | fix_exception_handlers (jitdata *jd) |
|
void | unfix_exception_handlers (jitdata *jd) |
|
static void | ssa_enter_mark_loops_intern (basicblock *bb, unsigned num_branches) |
|
static void | ssa_enter_mark_loops (basicblock *bb) |
|
static void | ssa_enter_merge (traversal_t *src, traversal_t *dst, basicblock *bdst, unsigned predecessor_index, vars_t *vdst) |
|
static void | ssa_enter_process_block (ssa_info *ssa, basicblock *bb) |
|
static bool | ssa_enter_eliminate_redundant_phis (traversal_t *t, vars_t *vs, basicblock_info_t *bbi) |
|
static void | ssa_enter_verify_no_redundant_phis (ssa_info_t *ssa) |
|
static void | ssa_enter_traverse (ssa_info_t *ssa, basicblock *bb) |
|
static void | ssa_enter_process_pei (ssa_info *ssa, basicblock *bb, unsigned pei) |
|
static | FIXME (bool) ssa_enter_eliminate_redundant_phis(traversal_t *t |
|
static vars_t basicblock_info_t * | FIXME (bbi)) |
|
static void | ssa_enter_init_locals (state_array_t *sa) |
|
static void | ssa_enter_export_variables (ssa_info *ssa) |
|
static void | ssa_enter_export_phis (ssa_info_t *ssa) |
|
static void | ssa_enter_eliminate_category (ssa_info_t *ssa, s4 *pvar) |
|
void | ssa_enter_eliminate_categories (ssa_info_t *ssa) |
|
static void | ssa_enter_create_phi_graph (ssa_info *ssa) |
|
static basicblock * | ssa_leave_create_transition_block_intern (ssa_info *ssa, basicblock *from, basicblock *to, unsigned predecessor_index, unsigned reserved_insns) |
|
static basicblock * | ssa_leave_create_transition_block (ssa_info *ssa, basicblock *from, basicblock *to) |
|
static void | ssa_leave_create_fallthrough (ssa_info *ssa, basicblock *bptr) |
|
static void | ssa_leave_create_phi_moves (ssa_info *ssa) |
|
static basicblock * | ssa_leave_split_basicblock_at (ssa_info *ssa, basicblock *bptr, instruction *iptr) |
|
static basicblock * | ssa_leave_create_transition_exception_handler (ssa_info *ssa, basicblock *from, unsigned pei, basicblock *to) |
|
static exception_entry * | ssa_leave_create_transition_exception_entry (ssa_info_t *ssa, basicblock *from, basicblock *handler, classref_or_classinfo catchtype) |
|
static void | ssa_leave_create_exceptional_phi_moves (ssa_info *ssa) |
|
void | ssa_simple_leave_restore (ssa_info_t *ssa, basicblock *bptr, s4 *pvar) |
|
void | ssa_simple_leave (ssa_info_t *ssa) |
|
void | yssa (jitdata *jd) |
|
void | eliminate_subbasicblocks (jitdata *jd) |
|