aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Schwab <schwab@suse.de>1999-09-27 08:43:01 +0000
committerAndreas Schwab <schwab@gcc.gnu.org>1999-09-27 08:43:01 +0000
commit6e8313feb2d60bb750f3e22198b3d80431db4db7 (patch)
tree49acde22b5ed4fb7e42086dfc07c72d6bbe239ac
parentcc52a736ffecf1a30d8b891c0e0292012e0d06b3 (diff)
downloadgcc-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/ChangeLog8
-rw-r--r--gcc/config/m68k/m68k.c6
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;