diff options
author | Richard Stallman <rms@gnu.org> | 1992-03-08 02:14:04 +0000 |
---|---|---|
committer | Richard Stallman <rms@gnu.org> | 1992-03-08 02:14:04 +0000 |
commit | 2758481d8b5b40210ad9be0ba82664f3f6c6e17f (patch) | |
tree | e281b90fc6d39e2ef18b55fb4ccfbc9c303793a7 /gcc | |
parent | 86f8eff3d61312e6bc7dfe72c1ac48d9cd8f14f7 (diff) | |
download | gcc-2758481d8b5b40210ad9be0ba82664f3f6c6e17f.zip gcc-2758481d8b5b40210ad9be0ba82664f3f6c6e17f.tar.gz gcc-2758481d8b5b40210ad9be0ba82664f3f6c6e17f.tar.bz2 |
*** empty log message ***
From-SVN: r418
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/reload1.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/gcc/reload1.c b/gcc/reload1.c index 6daca82..e26cefe 100644 --- a/gcc/reload1.c +++ b/gcc/reload1.c @@ -3260,6 +3260,16 @@ reload_as_needed (first, live_known) } #endif /* SMALL_REGISTER_CLASSES */ + /* If this is a USE and CLOBBER of a MEM, ensure that any + references to eliminable registers have been removed. */ + + if ((GET_CODE (PATTERN (insn)) == USE + || GET_CODE (PATTERN (insn)) == CLOBBER) + && GET_CODE (XEXP (PATTERN (insn), 0)) == MEM) + XEXP (XEXP (PATTERN (insn), 0), 0) + = eliminate_regs (XEXP (XEXP (PATTERN (insn), 0), 0), + GET_MODE (XEXP (PATTERN (insn), 0)), 0); + /* If we need to do register elimination processing, do so. This might delete the insn, in which case we are done. */ if (num_eliminable && GET_MODE (insn) == QImode) |