qemu/gcc-cse-mem-expr.patch

14 lines
524 B
Diff

diff -up gcc/cse.c.orig gcc/cse.c
--- gcc/cse.c.orig 2003-08-11 00:02:24.000000000 +0200
+++ gcc/cse.c 2003-07-31 23:49:21.000000000 +0200
@@ -6682,7 +6682,8 @@ 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), 0)))
+ || cse_rtx_varies_p (XEXP (dest, 0), 0))
+ && !MEM_EXPR (dest))
{
invalidate_memory ();
return;