diff options
author | Jim Wilson <wilson@cygnus.com> | 1996-09-25 19:31:31 +0000 |
---|---|---|
committer | Jim Wilson <wilson@cygnus.com> | 1996-09-25 19:31:31 +0000 |
commit | ab94f7ded23dc33d7caf89a2342728c3a043d002 (patch) | |
tree | c8641b80ec988ea5f0dbf7063c1287095e36a69d /gcc/function.c | |
parent | b1f36c225739c0faaf3fb32e4e4fc00d9f14a19d (diff) |
(instantiate_decl): Always store addr back into x.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@12842 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/function.c')
-rw-r--r-- | gcc/function.c | 40 |
1 files changed, 20 insertions, 20 deletions
diff --git a/gcc/function.c b/gcc/function.c index 0591a8bea33..b34f48dd0e3 100644 --- a/gcc/function.c +++ b/gcc/function.c @@ -2684,28 +2684,28 @@ instantiate_decl (x, size, valid_only) instantiate_virtual_regs_1 (&addr, NULL_RTX, 0); - if (! valid_only) - return; - - /* Now verify that the resulting address is valid for every integer or - floating-point mode up to and including SIZE bytes long. We do this - since the object might be accessed in any mode and frame addresses - are shared. */ - - for (mode = GET_CLASS_NARROWEST_MODE (MODE_INT); - mode != VOIDmode && GET_MODE_SIZE (mode) <= size; - mode = GET_MODE_WIDER_MODE (mode)) - if (! memory_address_p (mode, addr)) - return; + if (valid_only) + { + /* Now verify that the resulting address is valid for every integer or + floating-point mode up to and including SIZE bytes long. We do this + since the object might be accessed in any mode and frame addresses + are shared. */ + + for (mode = GET_CLASS_NARROWEST_MODE (MODE_INT); + mode != VOIDmode && GET_MODE_SIZE (mode) <= size; + mode = GET_MODE_WIDER_MODE (mode)) + if (! memory_address_p (mode, addr)) + return; - for (mode = GET_CLASS_NARROWEST_MODE (MODE_FLOAT); - mode != VOIDmode && GET_MODE_SIZE (mode) <= size; - mode = GET_MODE_WIDER_MODE (mode)) - if (! memory_address_p (mode, addr)) - return; + for (mode = GET_CLASS_NARROWEST_MODE (MODE_FLOAT); + mode != VOIDmode && GET_MODE_SIZE (mode) <= size; + mode = GET_MODE_WIDER_MODE (mode)) + if (! memory_address_p (mode, addr)) + return; + } - /* Otherwise, put back the address, now that we have updated it and we - know it is valid. */ + /* Put back the address now that we have updated it and we either know + it is valid or we don't care whether it is valid. */ XEXP (x, 0) = addr; } |