* 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 <aoliva@redhat.com>
* combine.c (simplify_shift_const): Even if we're sign-extracting,
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));
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
return 0;
}
- return rtx_varies_p (x, 0);
+ return rtx_varies_p (x, from_alias);
}
\f
/* Canonicalize an expression:
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;