summaryrefslogtreecommitdiff
path: root/gcc/config/sparc/sparc.c
diff options
context:
space:
mode:
authorwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>1992-02-28 18:58:59 +0000
committerwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>1992-02-28 18:58:59 +0000
commit8edfb73476bc96275ce170b9f5aa4ef6308b14a6 (patch)
tree433c0a0312748b92cb286f73bdb0739f09ee6bb8 /gcc/config/sparc/sparc.c
parent628fa4f896579aaa7862c5019f2af7a4a538dce9 (diff)
downloadgcc-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.c9
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. */