Commit 73b3e61b by Tom de Vries Committed by Tom de Vries

Update definition of call_fusage_contains_non_callee_clobbers

2014-06-20  Tom de Vries  <tom@codesourcery.com>

	* target.def (call_fusage_contains_non_callee_clobbers): Update
	definition.
	* doc/tm.texi: Regenerate.

From-SVN: r211852
parent 676d89dd
2014-06-20 Tom de Vries <tom@codesourcery.com>
* target.def (call_fusage_contains_non_callee_clobbers): Update
definition.
* doc/tm.texi: Regenerate.
2014-06-20 Yury Gribov <y.gribov@samsung.com>
Max Ostapenko <m.ostapenko@partner.samsung.com>
......
......@@ -4884,14 +4884,14 @@ Whether this target supports splitting the stack when the options described in @
@cindex miscellaneous register hooks
@deftypevr {Target Hook} bool TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS
set to true if all the calls in the current function contain clobbers in
CALL_INSN_FUNCTION_USAGE for the registers that are clobbered by the call
rather than by the callee, and are not already set or clobbered in the call
pattern. Examples of such registers are registers used in PLTs and stubs,
and temporary registers used in the call instruction but not present in the
rtl pattern. Another way to formulate it is the registers not present in the
rtl pattern that are clobbered by the call assuming the callee does not
clobber any register. The default version of this hook is set to false.
Set to true if each call that binds to a local definition explicitly
clobbers or sets all non-fixed registers modified by performing the call.
That is, by the call pattern itself, or by code that might be inserted by the
linker (e.g. stubs, veneers, branch islands), but not including those
modifiable by the callee. The affected registers may be mentioned explicitly
in the call pattern, or included as clobbers in CALL_INSN_FUNCTION_USAGE.
The default version of this hook is set to false. The purpose of this hook
is to enable the fuse-caller-save optimization.
@end deftypevr
@node Varargs
......
......@@ -5128,18 +5128,18 @@ FRAME_POINTER_REGNUM, ARG_POINTER_REGNUM, and the PIC_OFFSET_TABLE_REGNUM.",
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. */
present in CALL_INSN_FUNCTION_USAGE for all the calls that bind to a local
definition. */
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.",
"Set to true if each call that binds to a local definition explicitly\n\
clobbers or sets all non-fixed registers modified by performing the call.\n\
That is, by the call pattern itself, or by code that might be inserted by the\n\
linker (e.g. stubs, veneers, branch islands), but not including those\n\
modifiable by the callee. The affected registers may be mentioned explicitly\n\
in the call pattern, or included as clobbers in CALL_INSN_FUNCTION_USAGE.\n\
The default version of this hook is set to false. The purpose of this hook\n\
is to enable the fuse-caller-save optimization.",
bool,
false)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment