aboutsummaryrefslogtreecommitdiff
path: root/gcc/final.c
diff options
context:
space:
mode:
authorJohn Wehle <john@feith.com>1999-04-18 13:09:37 +0000
committerJohn Wehle <wehle@gcc.gnu.org>1999-04-18 13:09:37 +0000
commit54ff41b717adbdea60052aaf1ae686b518acbffb (patch)
tree266e9b6a151a15a5ac1a49e1ec8038fde7907520 /gcc/final.c
parentfbdd0024110fbdc960e21862e5df7bd2e508afc9 (diff)
downloadgcc-54ff41b717adbdea60052aaf1ae686b518acbffb.zip
gcc-54ff41b717adbdea60052aaf1ae686b518acbffb.tar.gz
gcc-54ff41b717adbdea60052aaf1ae686b518acbffb.tar.bz2
output.h (current_function_is_leaf, [...]): Declare.
* output.h (current_function_is_leaf, current_function_uses_only_leaf_regs): Declare. * function.c (current_function_is_leaf, current_function_uses_only_leaf_regs): Define. (init_function_start): Initialize current_function_is_leaf and current_function_uses_only_leaf_regs. * final.c (leaf_function): Don't define. (final_start_function): Replace uses of leaf_function with current_function_uses_only_leaf_regs. * toplev.c (rest_of_compilation): Set current_function_is_leaf prior to invoking local register allocation. (rest_of_compilation): Replace uses of leaf_function with current_function_uses_only_leaf_regs. * dbxout.c (dbxout_symbol, dbxout_parms): Likewise. * dwarf2out.c (add_location_or_const_vaule_attribute): Likewise. * dwarfout.c (add_location_or_const_value_attribute): Likewise. * sdbout.c (sdbout_symbol): Likewise. * sparc.h (FUNCTION_PROLOGUE, FUNCTION_EPILOGUE): Likewise. * sparc.c (eligible_for_epilogue_delay, output_return, sparc_return_peephole_ok): Likewise. * sparc.md (leaf_function attribute, untyped_return): Likewise. * i386.c (ix86_compute_frame_size): Don't align the stack for leaf functions which don't allocate any stack slots. * tm.texi: Update documentation. From-SVN: r26538
Diffstat (limited to 'gcc/final.c')
-rw-r--r--gcc/final.c7
1 files changed, 1 insertions, 6 deletions
diff --git a/gcc/final.c b/gcc/final.c
index 3cd2e0c..bacc093 100644
--- a/gcc/final.c
+++ b/gcc/final.c
@@ -131,11 +131,6 @@ Boston, MA 02111-1307, USA. */
#define JUMP_TABLES_IN_TEXT_SECTION 0
#endif
-/* Nonzero means this function is a leaf function, with no function calls.
- This variable exists to be examined in FUNCTION_PROLOGUE
- and FUNCTION_EPILOGUE. Always zero, unless set by some action. */
-int leaf_function;
-
/* Last insn processed by final_scan_insn. */
static rtx debug_insn = 0;
@@ -1634,7 +1629,7 @@ final_start_function (first, file, optimize)
output_source_line (file, first);
#ifdef LEAF_REG_REMAP
- if (leaf_function)
+ if (current_function_uses_only_leaf_regs)
leaf_renumber_regs (first);
#endif