From: Daniel Berlin Date: Tue, 17 Jul 2001 06:44:57 +0000 (+0000) Subject: cse.c (set_live_p): Take INSN argument for cc0; update callers. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=0021de69a61e2562e356284718444c1182d1f942;p=gcc.git cse.c (set_live_p): Take INSN argument for cc0; update callers. * cse.c (set_live_p): Take INSN argument for cc0; update callers. (insn_live_p): Fix fall off end of function. (dead_libcall_p): Remove COUNTS argument; update callers. (delete_trivially_dead_insns): Remove unused variables. Co-Authored-By: Richard Henderson From-SVN: r44064 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index bbf33a0beab..439e841bda8 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2001-07-16 Daniel Berlin + Richard Henderson + + * cse.c (set_live_p): Take INSN argument for cc0; update callers. + (insn_live_p): Fix fall off end of function. + (dead_libcall_p): Remove COUNTS argument; update callers. + (delete_trivially_dead_insns): Remove unused variables. + 2001-07-17 Andreas Jaeger * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix output format for diff --git a/gcc/cse.c b/gcc/cse.c index 70360d86993..266b1076c75 100644 --- a/gcc/cse.c +++ b/gcc/cse.c @@ -690,8 +690,8 @@ static int check_dependence PARAMS ((rtx *, void *)); static void flush_hash_table PARAMS ((void)); static bool insn_live_p PARAMS ((rtx, int *)); -static bool set_live_p PARAMS ((rtx, int *)); -static bool dead_libcall_p PARAMS ((rtx, int *)); +static bool set_live_p PARAMS ((rtx, rtx, int *)); +static bool dead_libcall_p PARAMS ((rtx)); /* Dump the expressions in the equivalence class indicated by CLASSP. This function is used only for debugging. */ @@ -7486,8 +7486,9 @@ count_reg_usage (x, counts, dest, incr) /* Return true if set is live. */ static bool -set_live_p (set, counts) +set_live_p (set, insn, counts) rtx set; + rtx insn; int *counts; { #ifdef HAVE_cc0 @@ -7527,20 +7528,23 @@ insn_live_p (insn, counts) { int i; if (GET_CODE (PATTERN (insn)) == SET) - return set_live_p (PATTERN (insn), counts); + return set_live_p (PATTERN (insn), insn, counts); else if (GET_CODE (PATTERN (insn)) == PARALLEL) - for (i = XVECLEN (PATTERN (insn), 0) - 1; i >= 0; i--) - { - rtx elt = XVECEXP (PATTERN (insn), 0, i); + { + for (i = XVECLEN (PATTERN (insn), 0) - 1; i >= 0; i--) + { + rtx elt = XVECEXP (PATTERN (insn), 0, i); - if (GET_CODE (elt) == SET) - { - if (set_live_p (elt, counts)) - return true; - } - else if (GET_CODE (elt) != CLOBBER && GET_CODE (elt) != USE) - return true; - } + if (GET_CODE (elt) == SET) + { + if (set_live_p (elt, insn, counts)) + return true; + } + else if (GET_CODE (elt) != CLOBBER && GET_CODE (elt) != USE) + return true; + } + return false; + } else return true; } @@ -7548,9 +7552,8 @@ insn_live_p (insn, counts) /* Return true if libcall is dead as a whole. */ static bool -dead_libcall_p (insn, counts) +dead_libcall_p (insn) rtx insn; - int *counts; { rtx note; /* See if there's a REG_EQUAL note on this insn and try to @@ -7616,7 +7619,6 @@ delete_trivially_dead_insns (insns, nreg, preserve_basic_blocks) for (; insn; insn = prev) { int live_insn = 0; - rtx note; prev = prev_real_insn (insn); @@ -7629,7 +7631,7 @@ delete_trivially_dead_insns (insns, nreg, preserve_basic_blocks) { in_libcall = 1; live_insn = 1; - dead_libcall = dead_libcall_p (insn, counts); + dead_libcall = dead_libcall_p (insn); } else if (in_libcall) live_insn = ! dead_libcall; @@ -7656,7 +7658,6 @@ delete_trivially_dead_insns (insns, nreg, preserve_basic_blocks) for (bb = BASIC_BLOCK (i), insn = bb->end; insn != bb->head; insn = prev) { int live_insn = 0; - rtx note; prev = PREV_INSN (insn); if (!INSN_P (insn)) @@ -7671,7 +7672,7 @@ delete_trivially_dead_insns (insns, nreg, preserve_basic_blocks) { in_libcall = 1; live_insn = 1; - dead_libcall = dead_libcall_p (insn, counts); + dead_libcall = dead_libcall_p (insn); } else if (in_libcall) live_insn = ! dead_libcall;