]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Update definition of call_fusage_contains_non_callee_clobbers
authorvries <vries@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 20 Jun 2014 18:28:12 +0000 (18:28 +0000)
committervries <vries@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 20 Jun 2014 18:28:12 +0000 (18:28 +0000)
2014-06-20  Tom de Vries  <tom@codesourcery.com>

* 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

gcc/ChangeLog
gcc/doc/tm.texi
gcc/target.def

index 9aaab6e3f6b0afbbf197d34a7fbd8cbce700d1b6..3141ec92cbbbb7d783b00b8131c036dd14a4ca04 100644 (file)
@@ -1,3 +1,9 @@
+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>
 
index c27263077b1633759d470c996c42cbcd73fa7869..45281aef88ad9ad529e31e8396a404d06489e226 100644 (file)
@@ -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
index e455211bac07c6882784b818c0c7765ea88da307..ee250e6adfebe75234877fe935be4707dd61197c 100644 (file)
@@ -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)