aboutsummaryrefslogtreecommitdiff
path: root/gcc/global.c
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@libertysurf.fr>2004-09-28 08:26:08 +0200
committerEric Botcazou <ebotcazou@gcc.gnu.org>2004-09-28 06:26:08 +0000
commit5be9b7a1750e019b85286348a325f00819daca52 (patch)
treebe38bba66d1221286973b3932565532de93fb5c8 /gcc/global.c
parent4badaa417d86f108d2921a9588a0b9846d552118 (diff)
downloadgcc-5be9b7a1750e019b85286348a325f00819daca52.zip
gcc-5be9b7a1750e019b85286348a325f00819daca52.tar.gz
gcc-5be9b7a1750e019b85286348a325f00819daca52.tar.bz2
re PR target/16532 (Inefficient jump to epilogue)
PR target/16532 * config/sparc/sparc.c (struct machine_function): New field 'leaf_function_p' and 'prologue_data_valid_p'. (sparc_leaf_function_p, sparc_prologue_data_valid_p): New macro to conveniently access the above fields. (TARGET_LATE_RTL_PROLOGUE_EPILOGUE): Delete. (eligible_for_return_delay): Use 'sparc_leaf_function_p' instead of the generic flavor 'current_function_uses_only_leaf_regs'. (eligible_for_sibcall_delay): Likewise. (sparc_expand_prologue): Compute 'sparc_leaf_function_p' and set 'sparc_prologue_data_valid_p'. Use 'sparc_leaf_function_p'. (sparc_asm_function_prologue): Add sanity check for the assumption made in 'sparc_expand_prologue'. Use 'sparc_leaf_function_p'. (sparc_can_use_return_insn_p): New function. (sparc_expand_epilogue): Use 'sparc_leaf_function_p'. (output_restore): Likewise. (output_sibcall): Likewise. (sparc_output_mi_thunk): Likewise. * config/sparc/sparc-protos.h (sparc_can_use_return_insn_p): Declare. * config/sparc/sparc.md (return): New expander. * config/sparc/sparc.h (INITIAL_ELIMINATION_OFFSET): Minor tweak. From-SVN: r88220
Diffstat (limited to 'gcc/global.c')
0 files changed, 0 insertions, 0 deletions