From 48590c5e4987dcfd8c86d8e47e82a920023b6d8d Mon Sep 17 00:00:00 2001 From: David Malcolm Date: Sun, 5 Jan 2014 00:49:30 -0500 Subject: [PATCH 070/159] FIXME: cse.c --- gcc/cse.c | 25 +++++++++++++------------ gcc/rtl.h | 2 +- 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/gcc/cse.c b/gcc/cse.c index 8cb4dcf..e2167b8 100644 --- a/gcc/cse.c +++ b/gcc/cse.c @@ -591,7 +591,7 @@ static rtx equiv_constant (rtx); static void record_jump_equiv (rtx, bool); static void record_jump_cond (enum rtx_code, enum machine_mode, rtx, rtx, int); -static void cse_insn (rtx); +static void cse_insn (rtx_base_insn); static void cse_prescan_path (struct cse_basic_block_data *); static void invalidate_from_clobbers (rtx); static void invalidate_from_sets_and_clobbers (rtx); @@ -604,7 +604,7 @@ static struct cse_reg_info * get_cse_reg_info (unsigned int regno); static int check_dependence (rtx *, void *); static void flush_hash_table (void); -static bool insn_live_p (rtx, int *); +static bool insn_live_p (rtx_base_insn, int *); static bool set_live_p (rtx, rtx, int *); static int cse_change_cc_mode (rtx *, void *); static void cse_change_cc_mode_insn (rtx_base_insn, rtx); @@ -4154,7 +4154,7 @@ struct set This is the last transformation that cse_insn will try to do. */ static void -try_back_substitute_reg (rtx set, rtx insn) +try_back_substitute_reg (rtx set, rtx_base_insn insn) { rtx dest = SET_DEST (set); rtx src = SET_SRC (set); @@ -4170,8 +4170,8 @@ try_back_substitute_reg (rtx set, rtx insn) { /* Scan for the previous nonnote insn, but stop at a basic block boundary. */ - rtx prev = insn; - rtx bb_head = BB_HEAD (BLOCK_FOR_INSN (insn)); + rtx_base_insn prev = insn; + rtx_base_insn bb_head = BB_HEAD (BLOCK_FOR_INSN (insn)); do { prev = PREV_INSN (prev); @@ -4456,7 +4456,7 @@ canonicalize_insn (rtx insn, struct set **psets, int n_sets) of available values. */ static void -cse_insn (rtx insn) +cse_insn (rtx_base_insn insn) { rtx x = PATTERN (insn); int i; @@ -5428,7 +5428,8 @@ cse_insn (rtx insn) and hope for the best. */ if (n_sets == 1) { - rtx new_rtx, note; + rtx_base_insn new_rtx; + rtx note; new_rtx = emit_jump_insn_before (gen_jump (XEXP (src, 0)), insn); JUMP_LABEL (new_rtx) = XEXP (src, 0); @@ -6796,7 +6797,7 @@ set_live_p (rtx set, rtx insn ATTRIBUTE_UNUSED, /* Only used with HAVE_cc0. */ /* Return true if insn is live. */ static bool -insn_live_p (rtx insn, int *counts) +insn_live_p (rtx_base_insn insn, int *counts) { int i; if (!cfun->can_delete_dead_exceptions && !insn_nothrow_p (insn)) @@ -6821,7 +6822,7 @@ insn_live_p (rtx insn, int *counts) } else if (DEBUG_INSN_P (insn)) { - rtx next; + rtx_base_insn next; for (next = NEXT_INSN (insn); next; next = NEXT_INSN (next)) if (NOTE_P (next)) @@ -6902,10 +6903,10 @@ replace_dead_reg (rtx x, const_rtx old_rtx ATTRIBUTE_UNUSED, void *data) remaining passes of the compilation are also sped up. */ int -delete_trivially_dead_insns (rtx insns, int nreg) +delete_trivially_dead_insns (rtx_base_insn insns, int nreg) { int *counts; - rtx insn, prev; + rtx_base_insn insn, prev; rtx *replacements = NULL; int ndead = 0; @@ -7337,7 +7338,7 @@ cse_condition_code_reg (void) FOR_EACH_BB (bb) { - rtx last_insn; + rtx_base_insn last_insn; rtx cc_reg; rtx_base_insn insn; rtx_base_insn cc_src_insn; diff --git a/gcc/rtl.h b/gcc/rtl.h index 78a0a27..495ce57 100644 --- a/gcc/rtl.h +++ b/gcc/rtl.h @@ -2776,7 +2776,7 @@ extern int cse_not_expected; extern int rtx_to_tree_code (enum rtx_code); /* In cse.c */ -extern int delete_trivially_dead_insns (rtx, int); +extern int delete_trivially_dead_insns (rtx_base_insn, int); extern int exp_equiv_p (const_rtx, const_rtx, int, bool); extern unsigned hash_rtx (const_rtx x, enum machine_mode, int *, int *, bool); -- 1.7.11.7