diff options
author | Andreas Schwab <schwab@suse.de> | 1999-09-27 08:43:01 +0000 |
---|---|---|
committer | Andreas Schwab <schwab@gcc.gnu.org> | 1999-09-27 08:43:01 +0000 |
commit | 6e8313feb2d60bb750f3e22198b3d80431db4db7 (patch) | |
tree | 49acde22b5ed4fb7e42086dfc07c72d6bbe239ac | |
parent | cc52a736ffecf1a30d8b891c0e0292012e0d06b3 (diff) | |
download | gcc-6e8313feb2d60bb750f3e22198b3d80431db4db7.zip gcc-6e8313feb2d60bb750f3e22198b3d80431db4db7.tar.gz gcc-6e8313feb2d60bb750f3e22198b3d80431db4db7.tar.bz2 |
m68k.c (output_function_prologue, [...]): Use current_function_uses_pic_offset_table instead of regs_ever_live to decide...
* config/m68k/m68k.c (output_function_prologue,
output_function_epilogue): Use
current_function_uses_pic_offset_table instead of regs_ever_live
to decide whether to save/restore pic register.
(legitimize_pic_address): Don't modify regs_ever_live any more.
From-SVN: r29676
-rw-r--r-- | gcc/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/config/m68k/m68k.c | 6 |
2 files changed, 10 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3233125..61efaa5c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +Mon Sep 27 10:28:48 1999 Andreas Schwab <schwab@suse.de> + + * config/m68k/m68k.c (output_function_prologue, + output_function_epilogue): Use + current_function_uses_pic_offset_table instead of regs_ever_live + to decide whether to save/restore pic register. + (legitimize_pic_address): Don't modify regs_ever_live any more. + Sun Sep 26 16:36:52 1999 Robert Lipe (robertlipe@usa.net) * config/i386/dgux.h (SELECT_RTX_SECTION): Provide dummy argument diff --git a/gcc/config/m68k/m68k.c b/gcc/config/m68k/m68k.c index 2db8626..c2cc4ee 100644 --- a/gcc/config/m68k/m68k.c +++ b/gcc/config/m68k/m68k.c @@ -356,7 +356,7 @@ output_function_prologue (stream, size) mask &= ~ (1 << (15 - FRAME_POINTER_REGNUM)); num_saved_regs--; } - if (flag_pic && regs_ever_live[PIC_OFFSET_TABLE_REGNUM]) + if (flag_pic && current_function_uses_pic_offset_table) { mask |= 1 << (15 - PIC_OFFSET_TABLE_REGNUM); num_saved_regs++; @@ -568,7 +568,7 @@ output_function_epilogue (stream, size) nregs++; mask |= 1 << regno; } - if (flag_pic && regs_ever_live[PIC_OFFSET_TABLE_REGNUM]) + if (flag_pic && current_function_uses_pic_offset_table) { nregs++; mask |= 1 << PIC_OFFSET_TABLE_REGNUM; @@ -1334,8 +1334,6 @@ legitimize_pic_address (orig, mode, reg) gen_rtx_PLUS (Pmode, pic_offset_table_rtx, orig)); current_function_uses_pic_offset_table = 1; - if (reload_in_progress) - regs_ever_live[PIC_OFFSET_TABLE_REGNUM] = 1; RTX_UNCHANGING_P (pic_ref) = 1; emit_move_insn (reg, pic_ref); return reg; |