From b8105705495f00ff9060fea7d70c69009c7a4f96 Mon Sep 17 00:00:00 2001 From: Eric Botcazou Date: Mon, 17 Oct 2016 16:10:42 +0000 Subject: * explow.c (validize_mem): Do not modify the argument in-place. From-SVN: r241247 --- gcc/explow.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'gcc/explow.c') diff --git a/gcc/explow.c b/gcc/explow.c index fbebcbd..1c59c86 100644 --- a/gcc/explow.c +++ b/gcc/explow.c @@ -496,9 +496,8 @@ memory_address_addr_space (machine_mode mode, rtx x, addr_space_t as) return x; } -/* If REF is a MEM with an invalid address, change it into a valid address. - Pass through anything else unchanged. REF must be an unshared rtx and - the function may modify it in-place. */ +/* Convert a mem ref into one with a valid memory address. + Pass through anything else unchanged. */ rtx validize_mem (rtx ref) @@ -510,7 +509,8 @@ validize_mem (rtx ref) MEM_ADDR_SPACE (ref))) return ref; - return replace_equiv_address (ref, XEXP (ref, 0), true); + /* Don't alter REF itself, since that is probably a stack slot. */ + return replace_equiv_address (ref, XEXP (ref, 0)); } /* If X is a memory reference to a member of an object block, try rewriting -- cgit v1.1