+2005-05-11 Mark Mitchell <mark@codesourcery.com>
+
+ Revert:
+ 2005-05-10 H.J. Lu <hongjiu.lu@intel.com>
+ Backport from mainline
+ 2004-02-12 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+ * function.c (fixup_var_refs): Save volatile_ok and set to 1.
+ * expr.c (emit_block_move_via_movstr): Save and restore
+ volatile_ok.
+ 2005-05-09 Grigory Tolstolytkin <gtolstolytkin@ru.mvista.com>
+ Backport from mainline
+ 2004-02-12 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+ * emit-rtl.c (set_mem_attributes_minus_bitpos): Don't kill previous
+ MEM_VOLATILE in REF.
+
2005-05-11 Ben Elliston <bje@au.ibm.com>
* dwarf2out.c: Revert my 2005-05-10 patch.
front-end routine) and use it. */
alias = get_alias_set (t);
- MEM_VOLATILE_P (ref) |= TYPE_VOLATILE (type);
+ MEM_VOLATILE_P (ref) = TYPE_VOLATILE (type);
MEM_IN_STRUCT_P (ref) = AGGREGATE_TYPE_P (type);
RTX_UNCHANGING_P (ref)
|= ((lang_hooks.honor_readonly
emit_block_move_via_movstr (rtx x, rtx y, rtx size, unsigned int align)
{
rtx opalign = GEN_INT (align / BITS_PER_UNIT);
- int save_volatile_ok = volatile_ok;
enum machine_mode mode;
/* Since this is a move insn, we don't care about volatility. */
if (pat)
{
emit_insn (pat);
- volatile_ok = save_volatile_ok;
+ volatile_ok = 0;
return true;
}
else
}
}
- volatile_ok = save_volatile_ok;
+ volatile_ok = 0;
return false;
}
rtx first_insn = get_insns ();
struct sequence_stack *stack = seq_stack;
tree rtl_exps = rtl_expr_chain;
- int save_volatile_ok = volatile_ok;
/* If there's a hash table, it must record all uses of VAR. */
if (ht)
return;
}
- /* Volatile is valid in MEMs because all we're doing in changing the
- address inside. */
- volatile_ok = 1;
fixup_var_refs_insns (first_insn, var, promoted_mode, unsignedp,
stack == 0, may_share);
end_sequence ();
}
}
-
- volatile_ok = save_volatile_ok;
}
\f
/* REPLACEMENTS is a pointer to a list of the struct fixup_replacement and X is