#include "config.h"#include "system.h"#include "rtl.h"#include "tm_p.h"#include "flags.h"#include "hard-reg-set.h"#include "regs.h"#include "insn-config.h"#include "insn-attr.h"#include "recog.h"#include "function.h"#include "expr.h"#include "real.h"#include "except.h"#include "toplev.h"#include "reload.h"#include "predict.h"

Go to the source code of this file.
| int any_condjump_p | ( | rtx | insn | ) |
Definition at line 1210 of file jump.c.
Referenced by add_reg_br_prob_note(), bfin_optimize_loop(), bfin_reorg(), bypass_conditional_jumps(), can_predict_insn_p(), cfg_layout_redirect_edge(), cfg_layout_redirect_edge_and_branch(), check_simple_exit(), commit_one_edge_insertion(), compute_branch_probabilities(), cond_exec_get_condition(), constprop_register(), copy_insn_list(), copy_loop_body(), dead_or_predicable(), delete_null_pointer_checks(), duplicate_loop_exit_test(), estimate_probability(), expand_builtin_expect_jump(), expand_end_loop(), expected_value_to_br_prob(), find_and_verify_loops(), find_dead_or_set_registers(), find_jump_block(), fix_crossing_conditional_branches(), fix_crossing_unconditional_branches(), fixup_reorder_chain(), for_each_insn_in_loop(), force_nonfallthru_and_redirect(), frv_print_operand_jump_hint(), get_condition(), init_propagate_block_info(), ix86_pad_returns(), load_mems(), loop_delete_branch_edge(), make_reorder_chain_1(), may_unswitch_on(), noce_get_condition(), outgoing_edges_match(), predict_edge(), predict_insn(), purge_dead_edges(), record_jump_equiv(), reload_cse_move2add(), rotate_loop(), rtl_block_ends_with_condjump_p(), rtl_predict_edge(), rtl_tidy_fallthru_edge(), rtl_verify_flow_info_1(), same_cmp_following_p(), same_cmp_preceding_p(), sched_get_condition(), set_edge_can_fallthru_flag(), simplify_using_initial_values(), struct_equiv_block_eq(), thread_jump(), tidy_fallthru_edge(), try_simplify_condjump(), try_split(), verify_flow_info(), and x86_machine_dependent_reorg().
| int any_uncondjump_p | ( | rtx | insn | ) |
Definition at line 1191 of file jump.c.
Referenced by copy_loop_headers(), create_loop_notes(), cse_basic_block(), emit(), expand_builtin_expect_jump(), find_and_verify_loops(), find_dead_or_set_registers(), find_next_ref(), follow_jumps(), for_each_insn_in_loop(), load_mems(), reg_dead_after_loop(), rtl_tidy_fallthru_edge(), rtl_verify_flow_info_1(), scan_loop(), skip_jump_insn(), tidy_fallthru_edge(), try_combine(), and verify_flow_info().
Definition at line 106 of file jump.c.
Referenced by rest_of_compilation(), and rest_of_handle_loop_optimize().
Definition at line 992 of file jump.c.
Referenced by arm_select_dominance_cc_mode(), fold_rtx(), known_cond(), select_dominance_cc_mode(), and thread_jump().
| int condjump_in_parallel_p | ( | rtx | insn | ) |
Definition at line 1231 of file jump.c.
Referenced by check_dbra_loop(), and frv_print_operand_jump_hint().
| int condjump_p | ( | rtx | insn | ) |
Definition at line 1106 of file jump.c.
Referenced by cse_insn(), operand_clobbered_before_used_after(), optimize_unexecutable_edges(), output_branchy_insn(), reload_combine(), rtl_verify_flow_info(), thread_prologue_and_epilogue_insns(), and verify_flow_info().
Definition at line 145 of file jump.c.
References any_uncondjump_p(), duplicate_loop_exit_test(), GET_CODE, insn, next, NEXT_INSN, next_nonnote_insn_in_loop(), NOTE_INSN_LOOP_BEG, NOTE_LINE_NUMBER, onlyjump_p(), and PREV_INSN.
Referenced by rest_of_compilation().
Definition at line 1545 of file jump.c.
References abort, delete_insn(), and GET_CODE.
Referenced by cfg_layout_redirect_edge(), cleanup_barriers(), and cleanup_unconditional_jumps().
Definition at line 1687 of file jump.c.
References cc0_rtx, delete_prior_computation(), delete_related_insns(), gen_rtx_EXPR_LIST, GET_CODE, next, PATTERN, prev, prev_nonnote_insn(), REG, REG_DEAD, REG_NOTE_KIND, REG_NOTES, reg_referenced_p(), REG_UNUSED, sets_cc0_p(), side_effects_p(), and XEXP.
Referenced by delete_computation(), delete_jump(), and delete_prior_computation().
Definition at line 1559 of file jump.c.
References CONST_OR_PURE_CALL_P, delete_computation(), find_regno_note(), FIRST_PSEUDO_REGISTER, gen_rtx_EXPR_LIST, GET_CODE, GET_MODE, HARD_REGNO_NREGS, PATTERN, prev_nonnote_insn(), REG, REG_NOTES, reg_overlap_mentioned_p(), reg_set_p(), REG_UNUSED, REGNO, SET, SET_DEST, SET_SRC, side_effects_p(), USE, XEXP, XVECEXP, and XVECLEN.
Referenced by delete_computation().
Definition at line 1740 of file jump.c.
Referenced by calculate_giv_inc(), check_dbra_loop(), copy_insn_list(), copy_loop_body(), delete_address_reloads(), delete_computation(), delete_handlers(), delete_related_insns(), duplicate_loop_exit_test(), find_and_verify_loops(), purge_line_number_notes(), redirect_jump(), redirect_jump_2(), save_for_inline(), scan_loop(), and unroll_loop().
| static int duplicate_loop_exit_test | ( | rtx | loop_start | ) | [static] |
Definition at line 312 of file jump.c.
References abort, any_condjump_p(), copy, copy_insn(), copy_insn_1(), delete_related_insns(), emit_barrier_before(), emit_insn_before(), emit_jump_insn_before(), emit_label_before(), emit_note_before(), find_reg_note(), FIRST_PSEUDO_REGISTER, free(), gen_jump(), gen_label_rtx(), gen_reg_rtx(), gen_rtx_EXPR_LIST, gen_rtx_INSN_LIST, GET_CODE, get_label_after(), GET_MODE, insn, INSN_SCOPE, INSN_UID, JUMP_LABEL, mark_jump_label(), max_reg, max_reg_num(), NEXT_INSN, next_nonnote_insn(), next_nonnote_insn_in_loop(), NOT_TAKEN, NOTE_INSN_BLOCK_BEG, NOTE_INSN_BLOCK_END, NOTE_INSN_LOOP_END, NOTE_INSN_LOOP_VTOP, NOTE_LINE_NUMBER, NOTE_SOURCE_FILE, NULL_RTX, num_insns, optimize, p, PATTERN, predict_insn_def(), prev_nonnote_insn(), redirect_jump(), REG, REG_LABEL, REG_LIBCALL, REG_LOOP_TEST_P, REG_NOTE_KIND, REG_NOTES, REG_RETVAL, reg_scan_update(), REG_WAS_0, REGNO, REGNO_FIRST_UID, REGNO_LAST_UID, remove_note(), replace_regs(), SET_DEST, single_set, SUBREG_REG, TAKEN, xcalloc(), and XEXP.
Referenced by copy_loop_headers().
Definition at line 628 of file jump.c.
Referenced by duplicate_loop_exit_test(), and find_and_verify_loops().
| static int init_label_info | ( | rtx | f | ) | [static] |
Definition at line 212 of file jump.c.
References GET_CODE, insn, INSN_UID, JUMP_LABEL, LABEL_NUSES, LABEL_PRESERVE_P, next, NEXT_INSN, PATTERN, REG_LABEL, reg_mentioned_p(), REG_NOTE_KIND, REG_NOTES, remove_note(), and XEXP.
Referenced by rebuild_jump_labels().
| static int invert_exp | ( | rtx | insn | ) | [static] |
Definition at line 2182 of file jump.c.
References apply_change_group(), invert_exp_1(), and num_validated_changes().
Referenced by invert_jump().
Definition at line 2133 of file jump.c.
References abort, comp, gen_rtx_fmt_ee(), GET_CODE, GET_MODE, pc_set(), reversed_comparison_code(), RTX_CODE, SET_SRC, UNKNOWN, validate_change(), and XEXP.
Referenced by invert_exp(), invert_jump_1(), and redirect_jump_2().
Definition at line 2215 of file jump.c.
Referenced by copy_loop_body(), find_and_verify_loops(), fix_up_fall_thru_edges(), fixup_reorder_chain(), gen_far_branch(), set_edge_can_fallthru_flag(), and try_simplify_condjump().
Definition at line 247 of file jump.c.
References find_reg_note(), gen_rtx_LABEL_REF, GET_CODE, insn, INSN_DELETED_P, INSN_P, JUMP_LABEL, mark_jump_label(), NEXT_INSN, NULL_RTX, PATTERN, REG_LABEL, and XEXP.
Referenced by mark_all_labels(), and rebuild_jump_labels().
Definition at line 1425 of file jump.c.
Referenced by duplicate_loop_exit_test(), emit_copy_of_insn_after(), mark_all_labels(), mark_jump_label(), try_combine(), and try_split().
Definition at line 1929 of file jump.c.
References GET_CODE, insn, INSN_P, NEXT_INSN, NOTE_LINE_NUMBER, NOTE_SOURCE_FILE, NULL, NULL_RTX, prev, PREV_INSN, and warn_notreached.
Referenced by cse_insn(), and flow_delete_block_noexpunge().
Definition at line 128 of file jump.c.
References GET_CODE, NEXT_INSN, NOTE_INSN_LOOP_END, NOTE_LINE_NUMBER, and NULL_RTX.
Referenced by copy_loop_headers(), and duplicate_loop_exit_test().
| int onlyjump_p | ( | rtx | insn | ) |
Definition at line 1276 of file jump.c.
Referenced by bypass_conditional_jumps(), cfg_layout_can_merge_blocks_p(), cfg_layout_redirect_edge(), cfg_layout_redirect_edge_and_branch(), check_dbra_loop(), cond_exec_process_if_block(), constprop_register(), copy_insn_list(), copy_loop_body(), copy_loop_headers(), create_loop_notes(), delete_null_pointer_checks(), find_and_verify_loops(), find_cond_trap(), flow_find_cross_jump(), follow_jumps(), noce_init_if_info(), noce_process_if_block(), outgoing_edges_match(), rtl_can_merge_blocks(), rtl_tidy_fallthru_edge(), same_cmp_following_p(), same_cmp_preceding_p(), sched_get_condition(), struct_equiv_block_eq(), thread_jump(), tidy_fallthru_edge(), tidy_fallthru_edges(), try_optimize_cfg(), and try_redirect_by_replacing_jump().
Definition at line 1169 of file jump.c.
Referenced by any_condjump_p(), any_uncondjump_p(), bypass_block(), compare_and_jump_seq(), cond_exec_get_condition(), condjump_equiv_p(), condjump_label(), cprop_jump(), expand_builtin_expect_jump(), expected_value_to_br_prob(), get_condition(), init_propagate_block_info(), invert_exp_1(), invert_jump_1(), noce_emit_store_flag(), noce_get_alt_condition(), noce_get_condition(), outgoing_edges_match(), prescan_loop(), record_jump_equiv(), sched_get_condition(), thread_jump(), ujump_to_loop_cont(), and visit_expression().
Definition at line 175 of file jump.c.
Referenced by rest_of_compilation(), and rest_of_handle_jump2().
Definition at line 78 of file jump.c.
Referenced by break_superblocks(), finish_eh_generation(), gen_divmod_fixed_value(), gen_mod_pow2(), gen_mod_subtract(), ip2k_reorg(), rest_of_compilation(), rest_of_handle_combine(), rest_of_handle_cse(), rest_of_handle_cse2(), rest_of_handle_gcse(), rest_of_handle_gcse2(), rest_of_handle_jump_bypass(), rest_of_handle_local_alloc(), rest_of_handle_old_regalloc(), rtl_gen_const_delta_profiler(), rtl_gen_edge_profiler(), rtl_gen_interval_profiler(), rtl_gen_one_value_profiler(), rtl_gen_pow2_profiler(), and tree_expand_cfg().
Definition at line 2048 of file jump.c.
References apply_change_group(), GET_CODE, num_validated_changes(), PATTERN, redirect_exp_1(), and XVECEXP.
Referenced by redirect_jump().
Definition at line 1990 of file jump.c.
References gen_rtx_LABEL_REF, gen_rtx_RETURN, gen_rtx_SET, GET_CODE, GET_RTX_FORMAT, GET_RTX_LENGTH, n, PATTERN, pc_rtx, RETURN, RTX_CODE, SET, SET_DEST, SET_SRC, validate_change(), XEXP, XVECEXP, and XVECLEN.
Referenced by redirect_exp(), redirect_exp_1(), redirect_jump_1(), and redirect_jump_2().
Definition at line 2097 of file jump.c.
Referenced by c4x_rptb_insert(), cfg_layout_redirect_edge(), compare_and_jump_seq(), copy_loop_body(), duplicate_loop_exit_test(), fix_crossing_conditional_branches(), fixup_reorder_chain(), force_nonfallthru_and_redirect(), invert_jump(), load_mems(), redirect_branch_edge(), redirect_edge_and_branch(), split_branches(), thread_prologue_and_epilogue_insns(), and try_redirect_by_replacing_jump().
Definition at line 2071 of file jump.c.
Referenced by dead_or_predicable(), invert_jump_1(), and redirect_jump().
| unsigned int reg_or_subregno | ( | rtx | reg | ) |
Definition at line 2468 of file jump.c.
Referenced by find_splittable_givs(), gen_reload(), and push_reload().
| int returnjump_p | ( | rtx | insn | ) |
Definition at line 1264 of file jump.c.
Referenced by commit_one_edge_insertion(), copy_insn_list(), fixup_reorder_chain(), flow_find_cross_jump(), make_edges(), make_insn_raw(), purge_dead_edges(), redirect_branch_edge(), redirect_edge_and_branch(), rtl_verify_flow_info(), struct_equiv_block_eq(), try_combine(), verify_flow_info(), and x86_machine_dependent_reorg().
Definition at line 1253 of file jump.c.
References GET_CODE, RETURN, SET, SET_IS_RETURN_P, and x.
Referenced by returnjump_p().
Definition at line 792 of file jump.c.
Referenced by alpha_emit_conditional_branch(), alpha_emit_conditional_move(), alpha_emit_setcc(), alpha_split_conditional_move(), arm_select_dominance_cc_mode(), avr_out_sbxx_branch(), bfin_gen_compare(), c4x_print_operand(), combine_simplify_rtx(), cond_exec_process_if_block(), conditions_mutex_p(), do_compare_rtx_and_jump(), fold_rtx(), frv_ifcvt_modify_tests(), frv_print_operand(), get_condition(), i960_print_operand(), ia64_expand_vecint_compare(), init_propagate_block_info(), iv_number_of_iterations(), ix86_expand_int_addcc(), ix86_expand_int_movcc(), ix86_expand_int_vcond(), ix86_reverse_condition(), known_cond(), mips_emit_int_relational(), noce_get_condition(), output_cbranch(), output_isel(), output_movb(), output_v9branch(), pj_print_operand(), print_operand(), put_condition_code(), ret_cond_branch(), reversed_comparison_code_parts(), rs6000_reverse_condition(), select_dominance_cc_mode(), simplify_comparison(), xstormy16_output_cbranch_hi(), and xstormy16_output_cbranch_si().
Definition at line 840 of file jump.c.
Referenced by get_float_compare_codes(), ix86_expand_fp_movcc(), ix86_expand_int_addcc(), ix86_expand_int_movcc(), ix86_expand_setcc(), ix86_reverse_condition(), ix86_split_fp_branch(), ix86_split_sse_movcc(), mips_emit_compare(), mips_reverse_fp_cond_p(), output_cbranch(), prepare_float_lib_cmp(), print_operand(), remove_useless_addtr_insns(), reversed_comparison_code_parts(), rs6000_emit_cmove(), and rs6000_reverse_condition().
Definition at line 773 of file jump.c.
Referenced by canonicalize_condition(), combine_reversed_comparison_code(), cond_exec_get_condition(), cond_exec_process_if_block(), conditions_mutex_p(), condjump_equiv_p(), dead_or_predicable(), find_comparison_args(), find_cond_trap(), if_then_else_cond(), init_propagate_block_info(), invert_exp_1(), known_cond(), noce_emit_store_flag(), noce_try_addcc(), noce_try_cmove_arith(), noce_try_store_flag(), noce_try_store_flag_constants(), noce_try_store_flag_inc(), noce_try_store_flag_mask(), outgoing_edges_match(), reversed_comparison(), reversed_condition(), sched_get_condition(), simplify_comparison(), simplify_gen_relational(), simplify_if_then_else(), simplify_relational_operation_1(), simplify_ternary_operation(), simplify_unary_operation(), simplify_unary_operation_1(), and thread_jump().
Definition at line 653 of file jump.c.
Referenced by combine_reversed_comparison_code(), combine_simplify_rtx(), emit_conditional_add(), record_jump_equiv(), and reversed_comparison_code().
Definition at line 2256 of file jump.c.
Referenced by find_equiv_reg(), insns_match_p(), old_insns_match_p(), outgoing_edges_match(), and rtx_renumbered_equal_p().
Definition at line 961 of file jump.c.
Referenced by ia64_expand_vecint_compare(), ip2k_signed_comparison_operator(), simplify_cmp_and_jump_insns(), simplify_const_relational_operation(), and simplify_relational_operation().
| int simplejump_p | ( | rtx | insn | ) |
Definition at line 1074 of file jump.c.
Referenced by add_reg_br_prob_note(), arc_final_prescan_insn(), arm_final_prescan_insn(), cfg_layout_can_merge_blocks_p(), cfg_layout_redirect_edge(), cfg_layout_redirect_edge_and_branch(), cleanup_unconditional_jumps(), find_if_block(), flow_find_cross_jump(), forwarder_block_p(), gen_block_redirect(), group_case_nodes(), iq2000_adjust_insn_length(), mips_adjust_insn_length(), optimize_unexecutable_edges(), outgoing_edges_match(), pa_adjust_insn_length(), purge_dead_edges(), rtl_can_merge_blocks(), sh_can_redirect_branch(), struct_equiv_block_eq(), thread_prologue_and_epilogue_insns(), try_optimize_cfg(), and try_redirect_by_replacing_jump().
Definition at line 551 of file jump.c.
Referenced by dead_or_predicable(), expand_case(), expand_end_case_type(), find_and_verify_loops(), merge_blocks_move_predecessor_nojumps(), and merge_blocks_move_successor_nojumps().
Definition at line 883 of file jump.c.
Referenced by alpha_emit_conditional_branch(), alpha_emit_conditional_move(), alpha_emit_setcc(), alpha_swapped_comparison_operator(), avr_reorg(), canon_condition(), canonicalize_condition(), canonicalize_iv_subregs(), check_dbra_loop(), compare_from_rtx(), condjump_equiv_p(), do_compare_rtx_and_jump(), do_store_flag(), emit_bcnd(), emit_cmp_and_jump_insns(), emit_conditional_add(), emit_store_flag(), gen_split_1443(), gen_split_1445(), get_condition_for_loop(), i960_print_operand(), ia64_expand_vecint_compare(), ia64_print_operand(), if_then_else_cond(), iv_number_of_iterations(), ix86_expand_branch(), ix86_expand_carry_flag_compare(), ix86_expand_fp_movcc(), ix86_expand_int_vcond(), ix86_prepare_fp_compare_args(), ix86_prepare_sse_fp_compare_args(), ix86_use_fcomi_compare(), known_cond(), loop_iterations(), m68hc11_expand_compare_and_branch(), machine_dependent_reorg(), noce_get_alt_condition(), noce_try_minmax(), outgoing_edges_match(), output_scc_di(), prepare_float_lib_cmp(), print_operand(), s390_canonicalize_comparison(), s390_expand_addcc(), simplify_comparison(), simplify_const_relational_operation(), simplify_gen_relational(), simplify_relational_operation(), validate_replace_rtx_1(), and xstormy16_output_cbranch_hi().
| int tablejump_p | ( | rtx | insn | ) |
Definition at line 1086 of file jump.c.
References GET_CODE, JUMP_LABEL, next_active_insn(), NEXT_INSN, and PATTERN.
Referenced by dead_or_predicable(), delete_related_insns(), final_scan_insn(), find_bb_boundaries(), find_if_block(), fix_crossing_unconditional_branches(), force_nonfallthru_and_redirect(), get_last_bb_insn(), label_is_jump_target_p(), make_edges(), merge_blocks_move_successor_nojumps(), outgoing_edges_match(), redirect_branch_edge(), rtl_delete_block(), try_crossjump_to_edge(), try_optimize_cfg(), and try_redirect_by_replacing_jump().
| int true_regnum | ( | rtx | x | ) |
Definition at line 2446 of file jump.c.
Referenced by arm_reload_memory_operand(), ashlhi3_out(), ashlsi3_out(), ashrhi3_out(), ashrsi3_out(), avr_peep2_scratch_safe(), avr_reorg(), choose_reload_regs(), clear_reload_reg_in_use(), crx_secondary_reload_class(), deallocate_reload_reg(), decompose(), emit_input_reload_insns(), extract_sfunc_addr(), fcc_register_operand(), find_equiv_reg(), find_reusable_reload(), frv_print_operand_memory_reference_reg(), gen_peephole2_1461(), gen_peephole2_1462(), gen_peephole2_1477(), gen_peephole2_1479(), gen_split_1095(), gen_split_1096(), gen_split_1202(), gen_split_1204(), gen_split_1258(), gen_split_1260(), gen_split_1277(), gen_split_1279(), ia64_secondary_reload_class(), int_gpr_dest(), ip2k_gen_signed_comp_branch(), ip2k_gen_unsigned_comp_branch(), ip2k_split_words(), legitimate_address_p(), lshrhi3_out(), lshrsi3_out(), machine_dependent_reorg(), mips_emit_fcc_reload(), mips_secondary_reload_class(), mips_sign_extend(), mt_secondary_reload_class(), mt_split_words(), out_movhi_mr_r(), out_movhi_r_mr(), out_movsi_mr_r(), out_movsi_r_mr(), out_shift_with_cnt(), output_movhi(), output_movsisf(), pa_secondary_reload(), peephole2_1(), print_operand(), print_operand_address(), reload_cse_simplify_operands(), reload_cse_simplify_set(), reload_memory_operand(), reload_reg_free_for_value_p(), rs6000_emit_move(), rs6000_secondary_reload_class(), s390_expand_plus_operand(), score_secondary_reload_class(), secondary_reload_class(), set_reload_reg(), split_2(), split_insns(), test_hard_reg_class(), true_regnum(), and xstormy16_secondary_reload_class().
Definition at line 931 of file jump.c.
Referenced by avr_simplify_comparision_p(), avr_simplify_comparison_p(), compare_from_rtx(), do_compare_rtx_and_jump(), emit_cmp_and_jump_insns(), emit_store_flag(), ip2k_unsigned_comparison_operator(), ix86_expand_branch(), m68hc11_expand_compare_and_branch(), and simplify_comparison().
1.5.6