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

#include "config.h"
#include "system.h"
#include "toplev.h"
#include "rtl.h"
#include "hard-reg-set.h"
#include "insn-config.h"
#include "recog.h"
#include "tm_p.h"
#include "flags.h"
#include "basic-block.h"
#include "real.h"

Include dependency graph for rtlanal.c:

Go to the source code of this file.

Data Types

type  set_of_data
type  parms_set_data

Functions/Subroutines

static int global_reg_mentioned_p_1 PARAMS ((rtx *, void *))
static void set_of_1 PARAMS ((rtx, rtx, void *))
static int computed_jump_p_1 PARAMS ((rtx))
static bool hoist_test_store PARAMS ((rtx, rtx, regset))
static void hoist_update_store PARAMS ((rtx, rtx *, rtx, rtx))
int rtx_unstable_p (rtx x)
int rtx_varies_p (rtx x, int for_alias)
int rtx_addr_can_trap_p (rtx x)
int rtx_addr_varies_p (rtx x, int for_alias)
HOST_WIDE_INT get_integer_term (rtx x)
rtx get_related_value (rtx x)
rtx get_jump_table_offset (rtx insn, rtx *earliest)
static int global_reg_mentioned_p_1 (rtx *loc, data)
int global_reg_mentioned_p (rtx x)
int count_occurrences (rtx x, rtx find, int count_dest)
int reg_mentioned_p (rtx reg, rtx in)
int no_labels_between_p (rtx beg, rtx end)
int no_jumps_between_p (rtx beg, rtx end)
int reg_used_between_p (rtx reg, rtx from_insn, rtx to_insn)
int reg_referenced_p (rtx x, rtx body)
int reg_referenced_between_p (rtx reg, rtx from_insn, rtx to_insn)
int reg_set_between_p (rtx reg, rtx from_insn, rtx to_insn)
int reg_set_p (rtx reg, rtx insn)
int regs_set_between_p (rtx x, rtx start, rtx end)
int modified_between_p (rtx x, rtx start, rtx end)
int modified_in_p (rtx x, rtx insn)
int insn_dependent_p (rtx x, rtx y)
static void insn_dependent_p_1 (rtx x, pat, void *data)
static void set_of_1 (rtx x, rtx pat, void *data1)
rtx set_of (rtx pat, rtx insn)
rtx single_set_2 (rtx insn, rtx pat)
int multiple_sets (rtx insn)
int set_noop_p (rtx set)
int noop_move_p (rtx insn)
rtx find_last_value (rtx x, rtx *pinsn, rtx valid_to, int allow_hwreg)
int refers_to_regno_p (unsigned int regno, unsigned int endregno, rtx x, rtx *loc)
int reg_overlap_mentioned_p (rtx x, rtx in)
rtx reg_set_last (rtx x, rtx insn)
void note_stores (void *rtx, void *fun, void *data)
void note_uses (rtx *pbody, void *fun, void *data)
int dead_or_set_p (rtx insn, rtx x)
int dead_or_set_regno_p (rtx insn, unsigned int test_regno)
rtx find_reg_note (rtx insn, enum reg_note kind, rtx datum)
rtx find_regno_note (rtx insn, enum reg_note kind, unsigned int regno)
rtx find_reg_equal_equiv_note (rtx insn)
int find_reg_fusage (rtx insn, enum rtx_code code, rtx datum)
int find_regno_fusage (rtx insn, enum rtx_code code, unsigned int regno)
int pure_call_p (rtx insn)
void remove_note (rtx insn, rtx note)
int in_expr_list_p (rtx listp, rtx node)
void remove_node_from_expr_list (rtx node, rtx *listp)
int volatile_insn_p (rtx x)
int volatile_refs_p (rtx x)
int side_effects_p (rtx x)
int may_trap_p (rtx x)
int inequality_comparisons_p (rtx x)
rtx replace_rtx (rtx x, rtx from, rtx to)
rtx replace_regs (rtx x, rtx *reg_map, unsigned int nregs, int replace_dest)
static int computed_jump_p_1 (rtx x)
int computed_jump_p (rtx insn)
int for_each_rtx (rtx *x, rtx_function f, void *data)
rtx regno_use_in (unsigned int regno, rtx x)
int commutative_operand_precedence (rtx op)
int swap_commutative_operands_p (rtx x, rtx y)
int auto_inc_p (rtx x)
int insns_safe_to_move_p (rtx from, rtx to, rtx *new_to)
int loc_mentioned_in_p (rtx *loc, rtx in)
unsigned int subreg_lsb (rtx x)
unsigned int subreg_regno_offset (unsigned int xregno, enum machine_mode xmode, unsigned int offset, enum machine_mode ymode)
bool subreg_offset_representable_p (unsigned int xregno, enum machine_mode xmode, unsigned int offset, enum machine_mode ymode)
unsigned int subreg_regno (rtx x)
static void parms_set (rtx x, pat, void *data)
rtx find_first_parameter_load (rtx call_insn, rtx boundary)
bool keep_with_call_p (rtx insn)
static bool hoist_test_store (rtx x, rtx val, regset live)
bool can_hoist_insn_p (rtx insn, rtx val, regset live)
static void hoist_update_store (rtx insn, rtx *xp, rtx val, rtx new)
rtx hoist_insn_after (rtx insn, rtx after, rtx val, rtx new)
rtx hoist_insn_to_edge (rtx insn, edge e, rtx val, rtx new)

Variables

int target_flags


Function Documentation

int auto_inc_p ( rtx  x  ) 

Definition at line 2953 of file rtlanal.c.

Referenced by xstormy16_split_move().

bool can_hoist_insn_p ( rtx  insn,
rtx  val,
regset  live 
)

int commutative_operand_precedence ( rtx  op  ) 

int computed_jump_p ( rtx  insn  ) 

static int computed_jump_p_1 ( rtx  x  )  [static]

int count_occurrences ( rtx  x,
rtx  find,
int  count_dest 
)

int dead_or_set_p ( rtx  insn,
rtx  x 
)

int dead_or_set_regno_p ( rtx  insn,
unsigned int  test_regno 
)

Definition at line 1781 of file rtlanal.c.

Referenced by dead_or_set_p(), distribute_notes(), mark_used_reg(), and set_dominates_use().

rtx find_first_parameter_load ( rtx  call_insn,
rtx  boundary 
)

Definition at line 3274 of file rtlanal.c.

Referenced by insert_insn_end_bb(), insert_insn_end_bb_new(), and sjlj_mark_call_sites().

rtx find_last_value ( rtx  x,
rtx pinsn,
rtx  valid_to,
int  allow_hwreg 
)

rtx find_reg_equal_equiv_note ( rtx  insn  ) 

int find_reg_fusage ( rtx  insn,
enum rtx_code  code,
rtx  datum 
)

rtx find_reg_note ( rtx  insn,
enum reg_note  kind,
rtx  datum 
)

Definition at line 1866 of file rtlanal.c.

Referenced by add_reg_br_prob_note(), any_uncondjump_p(), attr_length_save_restore_dltp(), block_alloc(), branch_prob(), calculate_giv_inc(), can_combine_p(), can_hoist_insn_p(), can_throw_external(), can_throw_internal(), cbranch_predicted_taken_p(), cfg_layout_can_merge_blocks_p(), check_dbra_loop(), check_for_label_ref(), check_insn_for_givs(), combine_predictions_for_insn(), combine_regs(), compute_branch_probabilities(), compute_hash_table_work(), compute_outgoing_frequencies(), compute_store_table(), computed_jump_p(), cond_exec_process_if_block(), consec_sets_giv(), consec_sets_invariant_p(), control_flow_insn_p(), convert_from_eh_region_ranges_1(), convert_to_eh_region_ranges(), copy_eh_notes(), copy_loop_body(), copy_src_to_dest(), cse_basic_block(), cse_end_of_basic_block(), cse_insn(), cselib_process_insn(), dead_libcall_p(), dead_or_predicable(), delete_insn(), delete_noop_moves(), delete_trivially_dead_insns(), df_ri_bb_compute(), distribute_notes(), do_local_cprop(), do_output_reload(), duplicate_computed_gotos(), duplicate_loop_exit_test(), emit_copy_of_insn_after(), emit_libcall_block(), emit_no_conflict_block(), emit_predicate_relation_info(), expand_builtin_mathfn(), expand_expr_real(), final_prescan_insn(), final_scan_insn(), find_and_verify_loops(), find_basic_blocks_1(), find_dummy_reload(), find_equiv_reg(), find_if_case_1(), find_if_case_2(), find_invariant_insn(), find_label_refs(), find_last_value(), find_moveable_store(), find_reg_equal_equiv_note(), find_reloads(), find_splittable_givs(), fixup_eh_region_note(), fixup_match_1(), fixup_reorder_chain(), fixup_tail_calls(), fixup_var_refs_insn(), force_nonfallthru_and_redirect(), frv_for_each_packet(), frv_print_operand_jump_hint(), hash_scan_set(), hoist_insn_after(), i960_print_operand(), ia64_add_bundle_selector_before(), ia64_print_operand(), ignore_some_movables(), init_alias_analysis(), insert_insn_end_bb(), insert_insn_end_bb_new(), invert_jump(), libcall_benefit(), libcall_other_reg(), local_cprop_pass(), loop_bivs_check(), loop_find_equiv_value(), loop_givs_rescan(), m32r_output_block_move(), machine_dependent_reorg(), make_edges(), make_reorder_chain_1(), mark_all_labels(), mark_jump_label(), mark_referenced_resources(), mark_set_resources(), maybe_eliminate_biv(), merge_blocks_move(), merge_blocks_move_predecessor_nojumps(), merge_blocks_move_successor_nojumps(), merge_if_block(), mips_output_function_prologue(), mmix_print_operand(), move_movables(), need_fake_edge_p(), next_insn_tests_no_unsigned(), no_conflict_p(), no_equiv(), noce_process_if_block(), noce_try_abs(), noop_move_p(), optimize_reg_copy_2(), optimize_reg_copy_3(), outgoing_edges_match(), output_89(), output_90(), output_cbranch(), output_v9branch(), print_operand(), process_for_unwind_directive(), process_note_predictions(), propagate_block(), propagate_block_delete_insn(), propagate_one_insn(), purge_dead_edges(), purge_reg_equiv_notes(), reachable_handlers(), record_reg_classes(), redirect_jump(), redirect_jump_2(), reg_is_remote_constant_p(), reg_scan_mark_refs(), reg_was_0(), reg_was_0_p(), regmove_optimize(), reload(), remove_fixup_regions(), replace_store_insn(), rotate_loop(), rtl_can_merge_blocks(), rtl_find_values_to_profile(), rtl_value_profile_transformations(), rtl_verify_flow_info_1(), save_call_clobbered_regs(), scan_loop(), scan_one_insn(), sched_analyze(), sched_analyze_insn(), schedule_ebbs(), see_analyze_one_def(), see_update_uses_relevancy(), set_unique_reg_note(), sh_adjust_cost(), sh_reorg(), simplify_giv_expr(), single_set_2(), sjlj_find_directly_reachable_regions(), sjlj_mark_call_sites(), skip_consec_insns(), split_2(), split_all_insns(), tidy_fallthru_edges(), try_auto_increment(), try_combine(), try_copy_prop(), try_forward_edges(), try_optimize_cfg(), try_redirect_by_replacing_jump(), try_split(), unroll_loop(), update_br_prob_note(), update_equiv_regs(), validate_equiv_mem(), and verify_flow_info().

int find_regno_fusage ( rtx  insn,
enum rtx_code  code,
unsigned int  regno 
)

rtx find_regno_note ( rtx  insn,
enum reg_note  kind,
unsigned int  regno 
)

int for_each_rtx ( rtx x,
rtx_function  f,
void data 
)

Definition at line 2809 of file rtlanal.c.

Referenced by add_uses_1(), alpha_does_function_need_gp(), alpha_find_lo_sum_using_gp(), alpha_set_memflags(), approx_reg_cost(), arm_tls_referenced_p(), btr_referenced_p(), combine_stack_adjustments_for_block(), compute_insns_for_mem(), compute_reloc_for_rtx(), const_rtx_hash(), copyprop_hardreg_forward_1(), count_uses_1(), cse_basic_block(), cse_change_cc_mode_insn(), dead_or_predicable(), df_insn_contains_asm(), df_insn_mem_replace(), df_refs_reg_replace(), df_urec_mark_reg_use_for_earlyclobber_1(), errata_emit_nops(), find_mem_in_note(), for_each_rtx(), frv_acc_group(), frv_ifcvt_modify_tests(), frv_io_handle_use(), frv_registers_conflict_p(), frv_registers_conflict_p_1(), get_some_local_dynamic_name(), get_some_local_dynamic_name_1(), global_reg_mentioned_p(), inherently_necessary_register(), initialize_uninitialized_subregs(), instantiate_decl(), instantiate_virtual_regs(), instantiate_virtual_regs_in_insn(), invalidate(), load_mems(), m68hc11_split_move(), mark_constant(), mark_constants(), mark_mem_use_1(), mark_phi_and_copy_regs(), mark_references(), mark_reg_use_for_earlyclobber_1(), mark_set_1(), mark_used_regs(), mips16_lay_out_constants(), mips_cannot_force_const_mem(), mips_rewrite_small_data(), mips_sim_wait_regs_1(), mips_small_data_pattern_p(), mt_reorg_hazard(), nonlocal_mentioned_p(), nonlocal_referenced_p(), nonlocal_set_p(), outgoing_edges_match(), pa_tls_referenced_p(), prescan_loop(), purge_addressof(), rename_block(), rename_equivalent_regs(), rename_insn_1(), replace_label(), replace_loop_mems(), replace_loop_regs(), returnjump_p(), rs6000_get_some_local_dynamic_name(), rs6000_tls_referenced_p(), rtx_referenced_p(), sh_contains_memref_p(), simplify_using_assignment(), simplify_using_condition(), some_small_symbolic_operand(), sparc_tls_referenced_p(), split_small_symbolic_operand(), ssa_eliminate_dead_code(), ssa_fast_dce(), thread_jump(), try_crossjump_to_edge(), unmentioned_reg_p(), verify_wide_reg(), and x86_extended_reg_mentioned_p().

HOST_WIDE_INT get_integer_term ( rtx  x  ) 

Definition at line 317 of file rtlanal.c.

Referenced by use_related_value().

rtx get_jump_table_offset ( rtx  insn,
rtx earliest 
)

rtx get_related_value ( rtx  x  ) 

Definition at line 337 of file rtlanal.c.

Referenced by insert(), and use_related_value().

int global_reg_mentioned_p ( rtx  x  ) 

Definition at line 547 of file rtlanal.c.

Referenced by mark_constant_function().

static int global_reg_mentioned_p_1 ( rtx loc,
data   
) [static]

Definition at line 496 of file rtlanal.c.

References CONST, FIRST_PSEUDO_REGISTER, GET_CODE, global_regs, PC, REG, REGNO, SUBREG_REG, subreg_regno(), and x.

Referenced by global_reg_mentioned_p().

rtx hoist_insn_after ( rtx  insn,
rtx  after,
rtx  val,
rtx  new 
)

rtx hoist_insn_to_edge ( rtx  insn,
edge  e,
rtx  val,
rtx  new 
)

static bool hoist_test_store ( rtx  x,
rtx  val,
regset  live 
) [static]

static void hoist_update_store ( rtx  insn,
rtx xp,
rtx  val,
rtx  new 
) [static]

int in_expr_list_p ( rtx  listp,
rtx  node 
)

Definition at line 2074 of file rtlanal.c.

Referenced by can_delete_label_p(), and copy_most_rtx().

int inequality_comparisons_p ( rtx  x  ) 

Definition at line 2466 of file rtlanal.c.

Referenced by inequality_comparisons_p().

int insn_dependent_p ( rtx  x,
rtx  y 
)

Definition at line 1066 of file rtlanal.c.

References abort, insn_dependent_p_1(), INSN_P, note_stores(), NULL_RTX, PATTERN, and tmp.

Referenced by mt_final_prescan_insn().

static void insn_dependent_p_1 ( rtx  x,
pat  ,
void data 
) [static]

int insns_safe_to_move_p ( rtx  from,
rtx  to,
rtx new_to 
)

Definition at line 2984 of file rtlanal.c.

Referenced by find_and_verify_loops().

bool keep_with_call_p ( rtx  insn  ) 

int loc_mentioned_in_p ( rtx loc,
rtx  in 
)

Definition at line 3054 of file rtlanal.c.

Referenced by loc_mentioned_in_p(), and remove_address_replacements().

int may_trap_p ( rtx  x  ) 

int modified_between_p ( rtx  x,
rtx  start,
rtx  end 
)

int modified_in_p ( rtx  x,
rtx  insn 
)

int multiple_sets ( rtx  insn  ) 

Definition at line 1192 of file rtlanal.c.

Referenced by global_conflicts(), set_unique_reg_note(), and wipe_dead_reg().

int no_jumps_between_p ( rtx  beg,
rtx  end 
)

Definition at line 721 of file rtlanal.c.

References GET_CODE, NEXT_INSN, and p.

Referenced by pj_machine_dependent_reorg().

int no_labels_between_p ( rtx  beg,
rtx  end 
)

int noop_move_p ( rtx  insn  ) 

Definition at line 1263 of file rtlanal.c.

Referenced by delete_noop_moves(), and distribute_notes().

void note_stores ( void rtx,
void fun,
void data 
)

Definition at line 1608 of file rtlanal.c.

References COND_EXEC_CODE, dest, FIRST_PSEUDO_REGISTER, GET_CODE, i, REG, REGNO, SET, SET_DEST, SUBREG_REG, XEXP, XVECEXP, and XVECLEN.

Referenced by block_alloc(), build_insn_chain(), calculate_local_reg_bb_info(), check_dbra_loop(), combine_instructions(), compute_defs_uses_and_gen(), compute_hash_table_work(), compute_sets(), compute_store_table(), conflict_graph_compute(), copyprop_hardreg_forward_1(), cse_set_around_loop(), cselib_record_sets(), delete_null_pointer_checks_1(), df_urec_bb_local_compute(), emit_libcall_block(), emit_no_conflict_block(), emit_output_reload_insns(), emit_prefetch_instructions(), find_evaluations(), find_first_parameter_load(), find_inherently_necessary(), flow_dependent_p(), frv_optimize_membar_local(), frv_registers_update(), global_conflicts(), init_alias_analysis(), insert_insn_end_bb(), insert_one_insn(), insn_dependent_p(), insn_true_dependent_p(), invalidate_skipped_block(), likely_spilled_retval_p(), load_killed_in_block_p(), loop_bivs_init_find(), mark_flags_life_zones(), mark_sets(), mark_target_live_regs(), mem_write_insn_p(), memory_modified_in_insn_p(), merge_overlapping_regs(), mips_sim_issue_insn(), mt_check_delay_slot(), mt_reorg_hazard(), note_stores(), notice_stack_pointer_modification(), prescan_loop(), record_dead_and_set_regs(), record_last_mem_set_info(), record_opr_changes(), reg_dead_at_p(), reload(), reload_as_needed(), reload_combine(), reload_cse_move2add(), s390_regs_ever_clobbered(), safe_insert_insn_on_edge(), save_call_clobbered_regs(), save_parm_insns(), set_of(), simplify_using_assignment(), try_combine(), try_constants(), try_copy_prop(), update_equiv_regs(), validate_equiv_mem(), vr4130_true_reg_dependence_p(), and vt_initialize().

void note_uses ( rtx pbody,
void fun,
void data 
)

static void hoist_update_store PARAMS ( (rtx, rtx *, rtx, rtx  )  [static]

static bool hoist_test_store PARAMS ( (rtx, rtx, regset  )  [static]

static int computed_jump_p_1 PARAMS ( (rtx  )  [static]

static void set_of_1 PARAMS ( (rtx, rtx, void *)   )  [static]

static int global_reg_mentioned_p_1 PARAMS ( (rtx *, void *)   )  [static]

static void parms_set ( rtx  x,
pat  ,
void data 
) [static]

int pure_call_p ( rtx  insn  ) 

Definition at line 2019 of file rtlanal.c.

Referenced by memref_used_between_p(), prescan_loop(), and store_killed_in_insn().

int refers_to_regno_p ( unsigned int  regno,
unsigned int  endregno,
rtx  x,
rtx loc 
)

int reg_mentioned_p ( rtx  reg,
rtx  in 
)

Definition at line 637 of file rtlanal.c.

Referenced by add_label_notes(), adjust_libcall_notes(), arc_eligible_for_epilogue_delay(), arm_adjust_cost(), arm_coproc_mem_operand(), arm_gen_constant(), assign_parm_setup_reg(), assign_parms(), bfin_scan_loop(), check_dbra_loop(), check_final_value(), cirrus_memory_offset(), combine_bnp(), combine_instructions(), combine_stack_adjustments_for_block(), convex_adjust_cost(), copy_src_to_dest(), cris_eligible_for_epilogue_delay(), cse_insn(), d30v_adjust_cost(), dead_register_here(), delete_dead_insn(), delete_handlers(), delete_output_reload(), distribute_notes(), do_store_flag(), eligible_for_sibcall_delay(), emit_libcall_block(), emit_output_reload_insns(), emit_push_insn(), emit_store_flag_force(), expand_call(), expand_divmod(), final_prescan_insn(), find_next_ref(), find_reloads(), find_set_regmode_weight(), find_split_point(), find_splittable_regs(), fixup_var_refs_1(), fixup_var_refs_insn(), flow_find_cross_jump(), fold_rtx(), get_jump_table_offset(), i960_function_name_declare(), ia64_ld_address_bypass_p(), ia64_st_address_bypass_p(), if_test_bypass_p(), init_label_info(), insn_dependent_p_1(), load_mems(), loop_biv_eliminable_p(), m32c_compare_redundant(), m32c_function_needs_enter(), m32c_split_move(), m68hc11_check_z_replacement(), m68hc11_gen_movhi(), m68hc11_gen_movqi(), m68hc11_notice_keep_cc(), m68hc11_reassign_regs(), m68hc11_split_move(), m68hc11_z_replacement(), machine_dependent_reorg(), make_safe_from(), mark_flags_life_zones(), maybe_eliminate_biv(), mips_move_2words(), mips_output_function_prologue(), mt_reorg_loops(), mt_scan_loop(), noce_get_alt_condition(), noncall_uses_reg(), optimize_reg_copy_1(), optimize_reg_copy_2(), output_block_move(), output_move_double(), output_move_qimode(), pa_adjust_cost(), push_reload(), record_excess_regs(), record_stack_memrefs(), reg_mentioned_p(), reg_overlap_mentioned_for_reload_p(), reg_overlap_mentioned_p(), rehash_using_reg(), scan_loop(), see_mentioned_reg(), see_want_to_be_merged_with_extension(), sfunc_uses_reg(), sh_reorg(), simple_mem(), simplify_if_then_else(), sparc_flat_eligible_for_epilogue_delay(), split_3(), store_data_bypass_p(), store_expr(), struct_equiv_improve_checkpoint(), tail_recursion_args(), thumb_legitimate_address_p(), try_combine(), try_copy_prop(), try_redirect_by_replacing_jump(), try_replace_reg(), unmentioned_reg_p_1(), update_equiv_regs(), valid_parallel_load_store(), valid_parallel_operands_4(), valid_parallel_operands_5(), and valid_parallel_operands_6().

int reg_overlap_mentioned_p ( rtx  x,
rtx  in 
)

Definition at line 1478 of file rtlanal.c.

Referenced by _reg_unused_after(), alpha_split_tmode_pair(), arm_adjust_cost(), arm_no_early_alu_shift_dep(), arm_no_early_alu_shift_value_dep(), arm_no_early_mul_dep(), arm_no_early_store_addr_dep(), arm_reload_out_hi(), can_combine_p(), check_cond_move_block(), combinable_i3pat(), conflicts_with_override(), convert_move(), cris_reg_overlap_mentioned_p(), cse_check_loop_start(), delete_prior_computation(), distribute_links(), distribute_notes(), emit_move_complex(), emit_no_conflict_block(), expand_asm_operands(), expand_inline_function(), fixup_match_1(), fixup_match_2(), flags_set_1(), frv_io_check_address(), gen_reload_outqi(), gen_split_291(), gen_split_292(), gen_split_293(), gen_split_294(), gen_v9_scc(), global_conflicts(), GTY(), ia64_adjust_cost(), ia64_split_tmode_move(), init_alias_analysis(), invalidate_mems_from_set(), ix86_expand_fp_movcc(), ix86_expand_int_movcc(), ix86_expand_sse_cmp(), ix86_flags_dependant(), ix86_flags_dependent(), ix86_split_long_move(), loop_reg_used_before_p(), m68hc11_notice_update_cc(), mds_movdi(), merge_assigned_reloads(), mips16_optimize_gp(), mips_split_64bit_move(), no_conflict_move_test(), noce_get_alt_condition(), noce_process_if_block(), notice_update_cc(), notice_update_cc_on_set(), ns32k_notice_update_cc(), optimize_reg_copy_1(), out_movhi_r_mr(), out_movqi_mr_r(), out_movqi_r_mr(), output_move_double(), output_move_quad(), peephole2_1(), record_value_for_reg(), reg_dead_after_loop(), reg_overlap_mentioned_p(), reg_referenced_p(), reg_unused_after(), reg_used_between_after_reload_p(), reg_used_between_p(), reg_used_on_edge(), regmove_optimize(), resolve_input_conflict(), rtx_equiv_p(), s390_split_ok_p(), set_of_1(), sh_adjust_cost(), sparc_check_64(), split_2(), try_combine(), update_cc(), validate_equiv_mem(), validate_equiv_mem_from_store(), vax_notice_update_cc(), wipe_dead_reg(), and xstormy16_split_move().

int reg_referenced_between_p ( rtx  reg,
rtx  from_insn,
rtx  to_insn 
)

Definition at line 837 of file rtlanal.c.

References find_reg_fusage(), GET_CODE, insn, INSN_P, NEXT_INSN, PATTERN, reg_referenced_p(), and USE.

int reg_referenced_p ( rtx  x,
rtx  body 
)

int reg_set_between_p ( rtx  reg,
rtx  from_insn,
rtx  to_insn 
)

rtx reg_set_last ( rtx  x,
rtx  insn 
)

int reg_set_p ( rtx  reg,
rtx  insn 
)

int reg_used_between_p ( rtx  reg,
rtx  from_insn,
rtx  to_insn 
)

rtx regno_use_in ( unsigned int  regno,
rtx  x 
)

Definition at line 2873 of file rtlanal.c.

Referenced by output_call_mem(), regno_use_in(), and sh_adjust_cost().

int regs_set_between_p ( rtx  x,
rtx  start,
rtx  end 
)

Definition at line 908 of file rtlanal.c.

References CONST, GET_CODE, GET_RTX_FORMAT, GET_RTX_LENGTH, i, PC, REG, reg_set_between_p(), XEXP, XVECEXP, and XVECLEN.

Referenced by regs_set_between_p().

void remove_node_from_expr_list ( rtx  node,
rtx listp 
)

Definition at line 2093 of file rtlanal.c.

Referenced by delete_insn(), and expand_builtin().

void remove_note ( rtx  insn,
rtx  note 
)

rtx replace_regs ( rtx  x,
rtx reg_map,
unsigned int  nregs,
int  replace_dest 
)

Definition at line 2608 of file rtlanal.c.

Referenced by duplicate_loop_exit_test(), move_movables(), replace_regs(), and strength_reduce().

rtx replace_rtx ( rtx  x,
rtx  from,
rtx  to 
)

int rtx_addr_can_trap_p ( rtx  x  ) 

int rtx_addr_varies_p ( rtx  x,
int  for_alias 
)

int rtx_unstable_p ( rtx  x  ) 

int rtx_varies_p ( rtx  x,
int  for_alias 
)

int set_noop_p ( rtx  set  ) 

rtx set_of ( rtx  pat,
rtx  insn 
)

static void set_of_1 ( rtx  x,
rtx  pat,
void data1 
) [static]

Definition at line 1109 of file rtlanal.c.

References set_of_data::found, GET_CODE, MEM, set_of_data::pat, reg_overlap_mentioned_p(), and rtx_equal_p().

Referenced by set_of().

int side_effects_p ( rtx  x  ) 

rtx single_set_2 ( rtx  insn,
rtx  pat 
)

Definition at line 1138 of file rtlanal.c.

Referenced by ia64_single_set().

unsigned int subreg_lsb ( rtx  x  ) 

Definition at line 3082 of file rtlanal.c.

Referenced by expand_field_assignment(), fold_rtx(), and fold_rtx_subreg().

bool subreg_offset_representable_p ( unsigned int  xregno,
enum machine_mode  xmode,
unsigned int  offset,
enum machine_mode  ymode 
)

unsigned int subreg_regno ( rtx  x  ) 

unsigned int subreg_regno_offset ( unsigned int  xregno,
enum machine_mode  xmode,
unsigned int  offset,
enum machine_mode  ymode 
)

int swap_commutative_operands_p ( rtx  x,
rtx  y 
)

int volatile_insn_p ( rtx  x  ) 

Definition at line 2124 of file rtlanal.c.

Referenced by can_combine_p(), find_equiv_reg(), and volatile_insn_p().

int volatile_refs_p ( rtx  x  ) 


Variable Documentation

Definition at line 48 of file rtlanal.c.


Generated on Wed Apr 8 15:44:19 2009 for Open64 by  doxygen 1.5.6