From: Bernd Schmidt Date: Wed, 3 Jan 2001 14:08:30 +0000 (+0000) Subject: Add extra arg to cse_rtx_varies_p X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=2be28ee21bfcd151e5753eeab602bd42c5adeb05;p=gcc.git Add extra arg to cse_rtx_varies_p From-SVN: r38656 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c5743e5bb82..d73f68c700c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -8,6 +8,9 @@ Wed Jan 3 08:53:50 2001 Richard Kenner * builtins.c (expand_builtin_return_addr): Don't use MEM_ALIAS_SET on a REG rtx. + * cse.c (cse_rtx_varies_p): Accept additional FROM_ALIAS arg. All + callers changed. + 2001-01-03 Alexandre Oliva * combine.c (simplify_shift_const): Even if we're sign-extracting, diff --git a/gcc/cse.c b/gcc/cse.c index 591ba579cb9..1b90e842cc6 100644 --- a/gcc/cse.c +++ b/gcc/cse.c @@ -656,7 +656,7 @@ static struct table_elt *insert PARAMS ((rtx, struct table_elt *, unsigned, static void merge_equiv_classes PARAMS ((struct table_elt *, struct table_elt *)); static void invalidate PARAMS ((rtx, enum machine_mode)); -static int cse_rtx_varies_p PARAMS ((rtx)); +static int cse_rtx_varies_p PARAMS ((rtx, int)); static void remove_invalid_refs PARAMS ((unsigned int)); static void remove_invalid_subreg_refs PARAMS ((unsigned int, unsigned int, enum machine_mode)); @@ -2691,8 +2691,9 @@ exp_equiv_p (x, y, validate, equal_values) against certain constants or near-constants. */ static int -cse_rtx_varies_p (x) +cse_rtx_varies_p (x, from_alias) register rtx x; + int from_alias ATTRIBUTE_UNUSED; { /* We need not check for X and the equivalence class being of the same mode because if X is equivalent to a constant in some mode, it @@ -2745,7 +2746,7 @@ cse_rtx_varies_p (x) return 0; } - return rtx_varies_p (x, 0); + return rtx_varies_p (x, from_alias); } /* Canonicalize an expression: @@ -6595,7 +6596,7 @@ invalidate_skipped_set (dest, set, data) a BLKmode or nonscalar memory reference or a reference to a variable address. */ && (MEM_IN_STRUCT_P (dest) || GET_MODE (dest) == BLKmode - || cse_rtx_varies_p (XEXP (dest, 0)))) + || cse_rtx_varies_p (XEXP (dest, 0), 0))) { invalidate_memory (); return;