summaryrefslogtreecommitdiff
path: root/gcc/recog.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/recog.c')
-rw-r--r--gcc/recog.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/gcc/recog.c b/gcc/recog.c
index e3472a53aea..01bc1f3a373 100644
--- a/gcc/recog.c
+++ b/gcc/recog.c
@@ -29,6 +29,7 @@ Boston, MA 02111-1307, USA. */
#include "hard-reg-set.h"
#include "recog.h"
#include "regs.h"
+#include "expr.h"
#include "function.h"
#include "flags.h"
#include "real.h"
@@ -597,10 +598,7 @@ validate_replace_rtx_1 (loc, from, to, object)
pos %= GET_MODE_BITSIZE (wanted_mode);
- newmem = gen_rtx_MEM (wanted_mode,
- plus_constant (XEXP (XEXP (x, 0), 0),
- offset));
- MEM_COPY_ATTRIBUTES (newmem, XEXP (x, 0));
+ newmem = adjust_address_nv (XEXP (x, 0), wanted_mode, offset);
validate_change (object, &XEXP (x, 2), GEN_INT (pos), 1);
validate_change (object, &XEXP (x, 0), newmem, 1);