diff options
author | wilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4> | 1992-02-28 18:58:59 +0000 |
---|---|---|
committer | wilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4> | 1992-02-28 18:58:59 +0000 |
commit | 8edfb73476bc96275ce170b9f5aa4ef6308b14a6 (patch) | |
tree | 433c0a0312748b92cb286f73bdb0739f09ee6bb8 /gcc/config/sparc/sparc.c | |
parent | 628fa4f896579aaa7862c5019f2af7a4a538dce9 (diff) | |
download | gcc-8edfb73476bc96275ce170b9f5aa4ef6308b14a6.tar.gz |
*** empty log message ***
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@365 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/sparc/sparc.c')
-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 d5b3ba9efd3..38fdad062df 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. */ |