summaryrefslogtreecommitdiff
path: root/gcc/emit-rtl.c
diff options
context:
space:
mode:
authorkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>2001-07-04 18:20:21 +0000
committerkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>2001-07-04 18:20:21 +0000
commita7586850f0a6635bd9c7b0b7ea710878acf94910 (patch)
tree1dc4db2ef792bbf2e548d464bcc5a5c8bd3f6be9 /gcc/emit-rtl.c
parent6ac377e453cf197b7e98d75e895823e6eb885d35 (diff)
downloadgcc-a7586850f0a6635bd9c7b0b7ea710878acf94910.tar.gz
* emit-rtl.c (change_address): Don't abort if invalid address while
reload is in progress. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@43765 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/emit-rtl.c')
-rw-r--r--gcc/emit-rtl.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c
index deca99b7459..107e75d4cd0 100644
--- a/gcc/emit-rtl.c
+++ b/gcc/emit-rtl.c
@@ -1584,9 +1584,13 @@ change_address (memref, mode, addr)
if (addr == 0)
addr = XEXP (memref, 0);
- /* If reload is in progress or has completed, ADDR must be valid.
- Otherwise, we can call memory_address to make it valid. */
- if (reload_completed || reload_in_progress)
+ /* If reload is in progress, don't check for validity of the address since we
+ assume the caller knows what they are doing. If reload has completed, the
+ address must be valid. Otherwise, we call memory_address to make it
+ valid. */
+ if (reload_in_progress)
+ ;
+ else if (reload_completed)
{
if (! memory_address_p (mode, addr))
abort ();