From: vries Date: Fri, 20 Jun 2014 18:28:12 +0000 (+0000) Subject: Update definition of call_fusage_contains_non_callee_clobbers X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=9e203f5c767e3393213eec10c7ddb3873c444160;p=thirdparty%2Fgcc.git Update definition of call_fusage_contains_non_callee_clobbers 2014-06-20 Tom de Vries * target.def (call_fusage_contains_non_callee_clobbers): Update definition. * doc/tm.texi: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211852 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9aaab6e3f6b0..3141ec92cbbb 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2014-06-20 Tom de Vries + + * target.def (call_fusage_contains_non_callee_clobbers): Update + definition. + * doc/tm.texi: Regenerate. + 2014-06-20 Yury Gribov Max Ostapenko diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi index c27263077b16..45281aef88ad 100644 --- a/gcc/doc/tm.texi +++ b/gcc/doc/tm.texi @@ -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 diff --git a/gcc/target.def b/gcc/target.def index e455211bac07..ee250e6adfeb 100644 --- a/gcc/target.def +++ b/gcc/target.def @@ -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)