diff options
author | Jim Wilson <wilson@gcc.gnu.org> | 1992-02-28 10:58:59 -0800 |
---|---|---|
committer | Jim Wilson <wilson@gcc.gnu.org> | 1992-02-28 10:58:59 -0800 |
commit | 01c0e9dc38f9d8ee04f98e519cbe86e62c9add5a (patch) | |
tree | 433c0a0312748b92cb286f73bdb0739f09ee6bb8 | |
parent | 400fbf9fdbf1661d3adfb124f2ed9d4aa6562979 (diff) | |
download | gcc-01c0e9dc38f9d8ee04f98e519cbe86e62c9add5a.zip gcc-01c0e9dc38f9d8ee04f98e519cbe86e62c9add5a.tar.gz gcc-01c0e9dc38f9d8ee04f98e519cbe86e62c9add5a.tar.bz2 |
*** empty log message ***
From-SVN: r365
-rw-r--r-- | gcc/config/sparc/sparc.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/gcc/config/sparc/sparc.c b/gcc/config/sparc/sparc.c index d5b3ba9..38fdad0 100644 --- a/gcc/config/sparc/sparc.c +++ b/gcc/config/sparc/sparc.c @@ -620,7 +620,7 @@ legitimize_pic_address (orig, mode, reg, scratch) if (reg == 0) { - if (reload_in_progress) + if (reload_in_progress || reload_completed) abort (); else reg = gen_reg_rtx (Pmode); @@ -631,7 +631,8 @@ legitimize_pic_address (orig, mode, reg, scratch) /* If not during reload, allocate another temp reg here for loading in the address, so that these instructions can be optimized properly. */ - rtx temp_reg = (reload_in_progress ? reg : gen_reg_rtx (Pmode)); + rtx temp_reg = ((reload_in_progress || reload_completed) + ? reg : gen_reg_rtx (Pmode)); emit_insn (gen_rtx (SET, VOIDmode, temp_reg, gen_rtx (HIGH, Pmode, orig))); @@ -664,7 +665,7 @@ legitimize_pic_address (orig, mode, reg, scratch) if (reg == 0) { - if (reload_in_progress) + if (reload_in_progress || reload_completed) abort (); else reg = gen_reg_rtx (Pmode); @@ -684,7 +685,7 @@ legitimize_pic_address (orig, mode, reg, scratch) { if (SMALL_INT (offset)) return plus_constant_for_output (base, INTVAL (offset)); - else if (! reload_in_progress) + else if (! reload_in_progress && ! reload_completed) offset = force_reg (Pmode, offset); /* We can't create any new registers during reload, so use the SCRATCH reg provided by the reload_insi pattern. */ |