* cselib.c (hash_rtx): For REG and MEM, just use value of expression
without adding in rtx code and mode.
+ * alias.c (init_alias_analysis): Don't use any rtx whose value
+ varies as a known value.
+ Delete a superfluous test.
+
* config/ia64/ia64.c (maybe_rotate): New function, broken out of
ia64_sched_reorder.
(ia64_sched_reorder): Call maybe_rotate; also rotate after
&& REG_N_SETS (regno) == 1)
|| (note = find_reg_note (insn, REG_EQUIV, NULL_RTX)) != 0)
&& GET_CODE (XEXP (note, 0)) != EXPR_LIST
+ && ! rtx_varies_p (XEXP (note, 0), 1)
&& ! reg_overlap_mentioned_p (SET_DEST (set), XEXP (note, 0)))
{
reg_known_value[regno] = XEXP (note, 0);
&& GET_CODE (XEXP (src, 1)) == CONST_INT)
{
rtx op0 = XEXP (src, 0);
- if (reg_known_value[REGNO (op0)])
- op0 = reg_known_value[REGNO (op0)];
+ op0 = reg_known_value[REGNO (op0)];
reg_known_value[regno]
= plus_constant_for_output (op0,
INTVAL (XEXP (src, 1)));