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

#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"

Include dependency graph for jump.c:

Go to the source code of this file.

Functions/Subroutines

static rtx
next_nonnote_insn_in_loop 
PARAMS ((rtx))
static void redirect_exp_1 PARAMS ((rtx *, rtx, rtx, rtx))
static int redirect_exp PARAMS ((rtx, rtx, rtx))
static int returnjump_p_1 PARAMS ((rtx *, void *))
static void
delete_prior_computation 
PARAMS ((rtx, rtx))
void rebuild_jump_labels (rtx f)
void cleanup_barriers ()
static rtx next_nonnote_insn_in_loop (rtx insn)
void copy_loop_headers (rtx f)
void purge_line_number_notes (rtx f)
static int init_label_info (rtx f)
static void mark_all_labels (rtx f)
static int duplicate_loop_exit_test (rtx loop_start)
bool squeeze_notes (rtx *startp, rtx *endp)
rtx get_label_before (rtx insn)
rtx get_label_after (rtx insn)
enum rtx_code reversed_comparison_code_parts (enum rtx_code code, rtx arg0, rtx arg1, rtx insn)
enum rtx_code reversed_comparison_code (rtx comparison, rtx insn)
enum rtx_code reverse_condition (enum rtx_code code)
enum rtx_code reverse_condition_maybe_unordered (enum rtx_code code)
enum rtx_code swap_condition (enum rtx_code code)
enum rtx_code unsigned_condition (enum rtx_code code)
enum rtx_code signed_condition (enum rtx_code code)
int comparison_dominates_p (enum rtx_code code1, enum rtx_code code2)
int simplejump_p (rtx insn)
int tablejump_p (rtx insn)
int condjump_p (rtx insn)
int condjump_in_parallel_p (rtx insn)
rtx pc_set (rtx insn)
int any_uncondjump_p (rtx insn)
int any_condjump_p (rtx insn)
rtx condjump_label (rtx insn)
static int returnjump_p_1 (rtx *loc, data)
int returnjump_p (rtx insn)
int onlyjump_p (rtx insn)
rtx follow_jumps (rtx label)
void mark_jump_label (rtx x, rtx insn, int in_mem)
void delete_jump (rtx insn)
void delete_barrier (rtx insn)
static void delete_prior_computation (rtx note, rtx insn)
static void delete_computation (rtx insn)
rtx delete_related_insns (rtx insn)
rtx next_nondeleted_insn (rtx insn)
void delete_for_peephole (rtx from, rtx to)
void never_reached_warning (rtx avoided_insn, rtx finish)
static void redirect_exp_1 (rtx *loc, rtx olabel, rtx nlabel, rtx insn)
static int redirect_exp (rtx olabel, rtx nlabel, rtx insn)
int redirect_jump_1 (rtx jump, rtx nlabel)
int redirect_jump (rtx jump, rtx nlabel, int delete_unused)
static void invert_exp_1 (rtx insn)
static int invert_exp (rtx insn)
int invert_jump_1 (rtx jump, rtx nlabel)
int invert_jump (rtx jump, rtx nlabel, int delete_unused)
int rtx_renumbered_equal_p (rtx x, rtx y)
int true_regnum (rtx x)
unsigned int reg_or_subregno (rtx reg)


Function Documentation

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  ) 

void cleanup_barriers ( void   ) 

Definition at line 106 of file jump.c.

Referenced by rest_of_compilation(), and rest_of_handle_loop_optimize().

int comparison_dominates_p ( enum rtx_code  code1,
enum rtx_code  code2 
)

int condjump_in_parallel_p ( rtx  insn  ) 

Definition at line 1137 of file jump.c.

Referenced by reload_combine().

rtx condjump_label ( 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  ) 

void copy_loop_headers ( rtx  f  ) 

void delete_barrier ( rtx  insn  ) 

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().

static void delete_computation ( rtx  insn  )  [static]

void delete_for_peephole ( rtx  from,
rtx  to 
)

Definition at line 1884 of file jump.c.

Referenced by peephole().

void delete_jump ( rtx  insn  ) 

Definition at line 1533 of file jump.c.

static void delete_prior_computation ( rtx  note,
rtx  insn 
) [static]

rtx delete_related_insns ( rtx  insn  ) 

static int duplicate_loop_exit_test ( rtx  loop_start  )  [static]

rtx follow_jumps ( rtx  label  ) 

Definition at line 1361 of file jump.c.

rtx get_label_after ( rtx  insn  ) 

Definition at line 628 of file jump.c.

Referenced by duplicate_loop_exit_test(), and find_and_verify_loops().

rtx get_label_before ( rtx  insn  ) 

Definition at line 605 of file jump.c.

static int init_label_info ( rtx  f  )  [static]

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().

static void invert_exp_1 ( rtx  insn  )  [static]

int invert_jump ( rtx  jump,
rtx  nlabel,
int  delete_unused 
)

int invert_jump_1 ( rtx  jump,
rtx  nlabel 
)

Definition at line 2198 of file jump.c.

Referenced by dead_or_predicable(), and invert_jump().

static void mark_all_labels ( rtx  f  )  [static]

void mark_jump_label ( rtx  x,
rtx  insn,
int  in_mem 
)

void never_reached_warning ( rtx  avoided_insn,
rtx  finish 
)

rtx next_nondeleted_insn ( rtx  insn  ) 

Definition at line 1870 of file jump.c.

References INSN_DELETED_P, and NEXT_INSN.

static rtx next_nonnote_insn_in_loop ( rtx  insn  )  [static]

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  ) 

static void delete_prior_computation PARAMS ( (rtx, rtx  )  [static]

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

static int redirect_exp PARAMS ( (rtx, rtx, rtx  )  [static]

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

static rtx next_nonnote_insn_in_loop PARAMS ( (rtx  )  [static]

rtx pc_set ( rtx  insn  ) 

void purge_line_number_notes ( rtx  f  ) 

Definition at line 175 of file jump.c.

Referenced by rest_of_compilation(), and rest_of_handle_jump2().

void rebuild_jump_labels ( rtx  f  ) 

static int redirect_exp ( rtx  olabel,
rtx  nlabel,
rtx  insn 
) [static]

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().

static void redirect_exp_1 ( rtx loc,
rtx  olabel,
rtx  nlabel,
rtx  insn 
) [static]

int redirect_jump ( rtx  jump,
rtx  nlabel,
int  delete_unused 
)

int redirect_jump_1 ( rtx  jump,
rtx  nlabel 
)

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  ) 

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

Definition at line 1253 of file jump.c.

References GET_CODE, RETURN, SET, SET_IS_RETURN_P, and x.

Referenced by returnjump_p().

enum rtx_code reverse_condition ( enum rtx_code  code  ) 

enum rtx_code reverse_condition_maybe_unordered ( enum rtx_code  code  ) 

enum rtx_code reversed_comparison_code ( rtx  comparison,
rtx  insn 
)

enum rtx_code reversed_comparison_code_parts ( enum rtx_code  code,
rtx  arg0,
rtx  arg1,
rtx  insn 
)

int rtx_renumbered_equal_p ( rtx  x,
rtx  y 
)

enum rtx_code signed_condition ( enum rtx_code  code  ) 

int simplejump_p ( rtx  insn  ) 

bool squeeze_notes ( rtx startp,
rtx endp 
)

enum rtx_code swap_condition ( enum rtx_code  code  ) 

int tablejump_p ( rtx  insn  ) 

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().

enum rtx_code unsigned_condition ( enum rtx_code  code  ) 


Generated on Wed Apr 8 15:38:55 2009 for Open64 by  doxygen 1.5.6