Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
R
riscv-gcc-1
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lvzhengyang
riscv-gcc-1
Commits
a061b9fa
Commit
a061b9fa
authored
Oct 19, 1994
by
Doug Evans
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
(FRAME_POINTER_REQUIRED): Require frame pointer if
non-leaf flat function. From-SVN: r8309
parent
af432130
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
7 additions
and
4 deletions
+7
-4
gcc/config/sparc/sparc.h
+7
-4
No files found.
gcc/config/sparc/sparc.h
View file @
a061b9fa
...
@@ -710,12 +710,14 @@ extern int sparc_mode_class[];
...
@@ -710,12 +710,14 @@ extern int sparc_mode_class[];
Zero means the frame pointer need not be set up (and parms
Zero means the frame pointer need not be set up (and parms
may be accessed via the stack pointer) in functions that seem suitable.
may be accessed via the stack pointer) in functions that seem suitable.
This is computed in `reload', in reload1.c.
This is computed in `reload', in reload1.c.
Used in flow.c, global.c, and reload1.c.
Used in flow.c, global.c, and reload1.c. */
Being a non-leaf function does not mean a frame pointer is needed in the
extern
int
leaf_function
;
flat window model. However, the debugger won't be able to backtrace through
us with out it. */
#define FRAME_POINTER_REQUIRED \
#define FRAME_POINTER_REQUIRED \
(TARGET_FRW ? (current_function_calls_alloca || current_function_varargs) \
(TARGET_FRW ? (current_function_calls_alloca || current_function_varargs \
|| !leaf_function_p ()) \
: ! (leaf_function_p () && only_leaf_regs_used ()))
: ! (leaf_function_p () && only_leaf_regs_used ()))
/* C statement to store the difference between the frame pointer
/* C statement to store the difference between the frame pointer
...
@@ -1515,6 +1517,7 @@ do { \
...
@@ -1515,6 +1517,7 @@ do { \
to do a "save" insn. The decision about whether or not
to do a "save" insn. The decision about whether or not
to do this is made in regclass.c. */
to do this is made in regclass.c. */
extern
int
leaf_function
;
#define FUNCTION_PROLOGUE(FILE, SIZE) \
#define FUNCTION_PROLOGUE(FILE, SIZE) \
(TARGET_FRW ? sparc_flat_output_function_prologue (FILE, SIZE) \
(TARGET_FRW ? sparc_flat_output_function_prologue (FILE, SIZE) \
: output_function_prologue (FILE, SIZE, leaf_function))
: output_function_prologue (FILE, SIZE, leaf_function))
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment