diff options
author | Richard Henderson <rth@cygnus.com> | 1999-07-08 07:21:01 -0600 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1999-07-08 07:21:01 -0600 |
commit | 8f9f5b127d31e31affd8b4dd4b99c8c03ef46b3f (patch) | |
tree | 070c3bf96cd8d40c5c4df0cca0a61e2fd16cdc04 /gcc | |
parent | ca21e4dad809339454d890540d08e0f107625a42 (diff) | |
download | gcc-8f9f5b127d31e31affd8b4dd4b99c8c03ef46b3f.zip gcc-8f9f5b127d31e31affd8b4dd4b99c8c03ef46b3f.tar.gz gcc-8f9f5b127d31e31affd8b4dd4b99c8c03ef46b3f.tar.bz2 |
m68k.c (output_function_prologue): Add pic register to mask if live and flag_pic.
�
* m68k.c (output_function_prologue): Add pic register to mask
if live and flag_pic.
(output_function_epilogue): Likewise.
From-SVN: r28023
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/config/m68k/m68k.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/config/m68k/m68k.c b/gcc/config/m68k/m68k.c index 9d1a37f..0431750 100644 --- a/gcc/config/m68k/m68k.c +++ b/gcc/config/m68k/m68k.c @@ -357,6 +357,8 @@ output_function_prologue (stream, size) mask &= ~ (1 << (15 - FRAME_POINTER_REGNUM)); num_saved_regs--; } + if (flag_pic && regs_ever_live[PIC_OFFSET_TABLE_REGNUM]) + mask |= 1 << PIC_OFFSET_TABLE_REGNUM; #if NEED_PROBE #ifdef MOTOROLA @@ -564,6 +566,11 @@ output_function_epilogue (stream, size) nregs++; mask |= 1 << regno; } + if (flag_pic && regs_ever_live[PIC_OFFSET_TABLE_REGNUM]) + { + nregs++; + mask |= 1 << PIC_OFFSET_TABLE_REGNUM; + } offset = foffset + nregs * 4; /* FIXME : leaf_function_p below is too strong. What we really need to know there is if there could be pending |