aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Wilson <wilson@gcc.gnu.org>1993-03-05 09:51:48 -0800
committerJim Wilson <wilson@gcc.gnu.org>1993-03-05 09:51:48 -0800
commita07c19158a3695623b979aef180ebe9cb03cc149 (patch)
tree3a3a9d1059e7747692447cd547dd6636e27c1e41
parent238a185624470bfbb661af1de3078b1e31888dd7 (diff)
downloadgcc-a07c19158a3695623b979aef180ebe9cb03cc149.zip
gcc-a07c19158a3695623b979aef180ebe9cb03cc149.tar.gz
gcc-a07c19158a3695623b979aef180ebe9cb03cc149.tar.bz2
(output_function_prologue, output_function_epilogue):
Add comments for frame_base_name usage in leaf_functions. From-SVN: r3657
-rw-r--r--gcc/config/sparc/sparc.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/config/sparc/sparc.c b/gcc/config/sparc/sparc.c
index 8c15009..2f41b9a 100644
--- a/gcc/config/sparc/sparc.c
+++ b/gcc/config/sparc/sparc.c
@@ -2083,6 +2083,8 @@ output_function_prologue (file, size, leaf_function)
int size;
int leaf_function;
{
+ /* ??? This should be %sp+actual_fsize for a leaf function. I think it
+ works only because it is never used. */
if (leaf_function)
frame_base_name = "%sp+80";
else
@@ -2143,6 +2145,7 @@ output_function_prologue (file, size, leaf_function)
{
int offset, n_fregs = num_fregs;
+ /* ??? This should always be -apparent_fsize. */
if (! leaf_function)
offset = -apparent_fsize;
else
@@ -2186,6 +2189,7 @@ output_function_epilogue (file, size, leaf_function)
{
int offset, n_fregs = num_fregs;
+ /* ??? This should always be -apparent_fsize. */
if (! leaf_function)
offset = -apparent_fsize;
else
@@ -3294,6 +3298,9 @@ sparc_frw_output_function_prologue (file, size, ignored)
extern char call_used_regs[];
int tsize;
char *sp_str = reg_names[STACK_POINTER_REGNUM];
+
+ /* ??? This should be %sp+actual_fsize for a leaf function. I think it
+ works only because it is never used. */
frame_base_name
= (!frame_pointer_needed) ? "%sp+80" : reg_names[FRAME_POINTER_REGNUM];