diff options
author | Bernd Schmidt <bernds@redhat.com> | 2001-01-03 14:08:30 +0000 |
---|---|---|
committer | Bernd Schmidt <bernds@gcc.gnu.org> | 2001-01-03 14:08:30 +0000 |
commit | 2be28ee21bfcd151e5753eeab602bd42c5adeb05 (patch) | |
tree | 40e5f85b83c34ab890ea6559f0ca4249e1f1fc29 /gcc/cse.c | |
parent | a338321ef92cecdd360a097d4c167d5fc882a52c (diff) | |
download | gcc-2be28ee21bfcd151e5753eeab602bd42c5adeb05.zip gcc-2be28ee21bfcd151e5753eeab602bd42c5adeb05.tar.gz gcc-2be28ee21bfcd151e5753eeab602bd42c5adeb05.tar.bz2 |
Add extra arg to cse_rtx_varies_p
From-SVN: r38656
Diffstat (limited to 'gcc/cse.c')
-rw-r--r-- | gcc/cse.c | 9 |
1 files changed, 5 insertions, 4 deletions
@@ -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; |