diff options
author | Marc Espie <espie@cvs.openbsd.org> | 1999-07-22 22:00:49 +0000 |
---|---|---|
committer | Marc Espie <espie@cvs.openbsd.org> | 1999-07-22 22:00:49 +0000 |
commit | 8a72be56f2b0a9ff094081714dd9fef51c5fdce1 (patch) | |
tree | 485e72f8c7ad465ef2d051ce51f9aee79cf0b6ea /gnu | |
parent | 5f1ae3349f66df6b2fb70c8f396fc9c68f34d65a (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.c | 18 | ||||
-rw-r--r-- | gnu/egcs/gcc/config/m68k/m68k.h | 16 |
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 |