diff options
author | vries <vries@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-05-05 22:51:36 +0000 |
---|---|---|
committer | vries <vries@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-05-05 22:51:36 +0000 |
commit | e9eaaa6a5083499339591cb448d78ecb474d50e2 (patch) | |
tree | 0143c588ed170c91e0177aa70b6d00bbdcffd76a /gcc/target.def | |
parent | 287cdcf4fae93b2baa3dfe005d13fe837695b5c5 (diff) | |
download | gcc-e9eaaa6a5083499339591cb448d78ecb474d50e2.tar.gz |
Add call_fusage_contains_non_callee_clobbers hook
2014-05-05 Radovan Obradovic <robradovic@mips.com>
Tom de Vries <tom@codesourcery.com>
* target.def (call_fusage_contains_non_callee_clobbers): New DEFHOOKPOD.
* doc/tm.texi.in (@node Stack and Calling): Add Miscellaneous Register
Hooks to @menu.
(@node Miscellaneous Register Hooks): New node.
(@hook TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS): New hook.
* doc/tm.texi: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210085 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/target.def')
-rw-r--r-- | gcc/target.def | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/gcc/target.def b/gcc/target.def index 793f12ddfe1..7e0c96e472c 100644 --- a/gcc/target.def +++ b/gcc/target.def @@ -5142,6 +5142,22 @@ FRAME_POINTER_REGNUM, ARG_POINTER_REGNUM, and the PIC_OFFSET_TABLE_REGNUM.", void, (bitmap regs), hook_void_bitmap) +/* Targets should define this target hook to mark that non-callee clobbers are + present in CALL_INSN_FUNCTION_USAGE for all the calls in the current + function. */ +DEFHOOKPOD +(call_fusage_contains_non_callee_clobbers, + "set to true if all the calls in the current function contain clobbers in\n\ +CALL_INSN_FUNCTION_USAGE for the registers that are clobbered by the call\n\ +rather than by the callee, and are not already set or clobbered in the call\n\ +pattern. Examples of such registers are registers used in PLTs and stubs,\n\ +and temporary registers used in the call instruction but not present in the\n\ +rtl pattern. Another way to formulate it is the registers not present in the\n\ +rtl pattern that are clobbered by the call assuming the callee does not\n\ +clobber any register. The default version of this hook is set to false.", + bool, + false) + /* Fill in additional registers set up by prologue into a regset. */ DEFHOOK (set_up_by_prologue, |