aboutsummaryrefslogtreecommitdiff
path: root/gcc/doc/tm.texi.in
diff options
context:
space:
mode:
authorSriraman Tallam <tmsriram@gcc.gnu.org>2012-12-27 01:58:06 +0000
committerSriraman Tallam <tmsriram@gcc.gnu.org>2012-12-27 01:58:06 +0000
commiteb745e40fe60490ce7f0cf1c1bf3b0084d340923 (patch)
tree6ecc2e00fdb5157210f90bdc5849eedd4a227257 /gcc/doc/tm.texi.in
parent1b9c5a882fd2ac3c7c9f9e176dc61a1e4b2303aa (diff)
downloadgcc-eb745e40fe60490ce7f0cf1c1bf3b0084d340923.zip
gcc-eb745e40fe60490ce7f0cf1c1bf3b0084d340923.tar.gz
gcc-eb745e40fe60490ce7f0cf1c1bf3b0084d340923.tar.bz2
Before this patch...
Before this patch, function multiversioning determines that two functions are different by comparing the arch type and isa flags that are set after the target string is processed. This leads to cases where the versions become identical when the command-line target options are altered. This patch modifies the function version determination to just compare the target string. 2012-12-27 Sriraman Tallam <tmsriram@google.com> * doc/tm.texi.in (TARGET_OPTION_SUPPORTS_FUNCTION_VERSIONS): Document new target hook. * doc/tm.texi: Regenerate. * c-family/c-common.c (handle_target_attribute): Retain target attribute for targets that support versioning. * target.def (supports_function_versions): New hook. * cp/class.c (add_method): Remove calls to DECL_FUNCTION_SPECIFIC_TARGET. * config/i386/i386.c (ix86_function_versions): Use target string to check for function versions instead of target flags. * (ix86_supports_function_versions): New function. * (is_function_default_version): Check target string. * TARGET_OPTION_SUPPORTS_FUNCTION_VERSIONS: New macro. 2012-12-27 Sriraman Tallam <tmsriram@google.com> * testsuite/g++.dg/mv1.C: Remove target options. * testsuite/g++.dg/mv2.C: Ditto. * testsuite/g++.dg/mv3.C: Ditto. * testsuite/g++.dg/mv4.C: Ditto. * testsuite/g++.dg/mv5.C: Ditto. From-SVN: r194730
Diffstat (limited to 'gcc/doc/tm.texi.in')
-rw-r--r--gcc/doc/tm.texi.in5
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/doc/tm.texi.in b/gcc/doc/tm.texi.in
index 95fab18..e820f77 100644
--- a/gcc/doc/tm.texi.in
+++ b/gcc/doc/tm.texi.in
@@ -9770,6 +9770,11 @@ different target specific attributes, that is, they are compiled for
different target machines.
@end deftypefn
+@hook TARGET_OPTION_SUPPORTS_FUNCTION_VERSIONS
+This target hook returns @code{true} if the target supports function
+multiversioning.
+@end deftypefn
+
@hook TARGET_CAN_INLINE_P
This target hook returns @code{false} if the @var{caller} function
cannot inline @var{callee}, based on target specific information. By