summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorMarc Espie <espie@cvs.openbsd.org>1999-07-22 22:00:49 +0000
committerMarc Espie <espie@cvs.openbsd.org>1999-07-22 22:00:49 +0000
commit8a72be56f2b0a9ff094081714dd9fef51c5fdce1 (patch)
tree485e72f8c7ad465ef2d051ce51f9aee79cf0b6ea /gnu
parent5f1ae3349f66df6b2fb70c8f396fc9c68f34d65a (diff)
put back 990629 `finalize_pic' removal, now that the newer snapshot
fixes all the defects.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/egcs/gcc/config/m68k/m68k.c18
-rw-r--r--gnu/egcs/gcc/config/m68k/m68k.h16
2 files changed, 10 insertions, 24 deletions
diff --git a/gnu/egcs/gcc/config/m68k/m68k.c b/gnu/egcs/gcc/config/m68k/m68k.c
index 447ff3f8da2..d6618223d3a 100644
--- a/gnu/egcs/gcc/config/m68k/m68k.c
+++ b/gnu/egcs/gcc/config/m68k/m68k.c
@@ -126,24 +126,6 @@ override_options ()
m68k_align_funcs = def_align;
}
-/* Emit a (use pic_offset_table_rtx) if we used PIC relocation in the
- function at any time during the compilation process. In the future
- we should try and eliminate the USE if we can easily determine that
- all PIC references were deleted from the current function. That would
- save an address register */
-
-void
-finalize_pic ()
-{
- if (flag_pic && current_function_uses_pic_offset_table)
- {
- rtx insn = gen_rtx_USE (VOIDmode, pic_offset_table_rtx);
- emit_insn_after (insn, get_insns ());
- emit_insn (insn);
- }
-}
-
-
/* This function generates the assembly code for function entry.
STREAM is a stdio stream to output the code to.
SIZE is an int: how many units of temporary storage to allocate.
diff --git a/gnu/egcs/gcc/config/m68k/m68k.h b/gnu/egcs/gcc/config/m68k/m68k.h
index 8152cddb8b5..9a58f1db6be 100644
--- a/gnu/egcs/gcc/config/m68k/m68k.h
+++ b/gnu/egcs/gcc/config/m68k/m68k.h
@@ -341,11 +341,6 @@ extern int target_flags;
/* This defines the register which is used to hold the offset table for PIC. */
#define PIC_OFFSET_TABLE_REGNUM 13
-/* Used to output a (use pic_offset_table_rtx) so that we
- always save/restore a5 in functions that use PIC relocation
- at *any* time during the compilation process. */
-#define FINALIZE_PIC finalize_pic()
-
#ifndef SUPPORT_SUN_FPA
/* 1 for registers that have pervasive standard uses
@@ -446,8 +441,17 @@ extern int target_flags;
if (TEST_HARD_REG_BIT (x, i)) \
fixed_regs[i] = call_used_regs[i] = 1; \
} \
+ if (flag_pic) \
+ fixed_regs[PIC_OFFSET_TABLE_REGNUM] \
+ = call_used_regs[PIC_OFFSET_TABLE_REGNUM] = 1;\
+}
+#else
+#define CONDITIONAL_REGISTER_USAGE \
+{ \
+ if (flag_pic) \
+ fixed_regs[PIC_OFFSET_TABLE_REGNUM] \
+ = call_used_regs[PIC_OFFSET_TABLE_REGNUM] = 1;\
}
-
#endif /* defined SUPPORT_SUN_FPA */
/* Return number of consecutive hard regs needed starting at reg REGNO