diff options
author | Sriraman Tallam <tmsriram@gcc.gnu.org> | 2012-12-27 01:58:06 +0000 |
---|---|---|
committer | Sriraman Tallam <tmsriram@gcc.gnu.org> | 2012-12-27 01:58:06 +0000 |
commit | eb745e40fe60490ce7f0cf1c1bf3b0084d340923 (patch) | |
tree | 6ecc2e00fdb5157210f90bdc5849eedd4a227257 /gcc/doc/tm.texi.in | |
parent | 1b9c5a882fd2ac3c7c9f9e176dc61a1e4b2303aa (diff) | |
download | gcc-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.in | 5 |
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 |