It did not, I held it until just after the branch was made.

-----Original Message-----
From: hwennb...@google.com [mailto:hwennb...@google.com] On Behalf Of Hans 
Wennborg
Sent: Wednesday, January 17, 2018 4:47 AM
To: reviews+d41837+public+36225483e5851...@reviews.llvm.org
Cc: Keane, Erich <erich.ke...@intel.com>; Richard Smith 
<rich...@metafoo.co.uk>; Aaron Ballman <aaron.ball...@gmail.com>; Eric 
Christopher <echri...@gmail.com>; cfe-commits <cfe-commits@lists.llvm.org>
Subject: Re: [PATCH] D41837: Add Function multiversion to the release notes.

Did this functionality land before the 6.0 branch, that is, should we copy the 
release notes to the branch?

Thanks
Hans

On Tue, Jan 9, 2018 at 12:37 AM, Erich Keane via Phabricator 
<revi...@reviews.llvm.org> wrote:
> This revision was automatically updated to reflect the committed changes.
> Closed by commit rC322043: Document attribute target multiversioning. 
> (authored by erichkeane, committed by ).
>
> Changed prior to commit:
>   https://reviews.llvm.org/D41837?vs=128982&id=128995#toc
>
> Repository:
>   rC Clang
>
> https://reviews.llvm.org/D41837
>
> Files:
>   docs/ReleaseNotes.rst
>   include/clang/Basic/AttrDocs.td
>
>
> Index: docs/ReleaseNotes.rst
> ===================================================================
> --- docs/ReleaseNotes.rst
> +++ docs/ReleaseNotes.rst
> @@ -80,6 +80,12 @@
>  Attribute Changes in Clang
>  --------------------------
>
> +- Clang now supports function multiversioning with attribute 'target' 
> +on ELF
> +  based x86/x86-64 environments by using indirect functions. This 
> +implementation
> +  has a few minor limitations over the GCC implementation for the 
> +sake of AST
> +  sanity, however it is otherwise compatible with existing code using 
> +this
> +  feature for GCC. Consult the documentation for the target attribute 
> +for more
> +  information.
>  - ...
>
>  Windows Support
> Index: include/clang/Basic/AttrDocs.td 
> ===================================================================
> --- include/clang/Basic/AttrDocs.td
> +++ include/clang/Basic/AttrDocs.td
> @@ -1474,6 +1474,24 @@
>  Example "subtarget features" from the x86 backend include: "mmx", 
> "sse", "sse4.2",  "avx", "xop" and largely correspond to the machine 
> specific options handled by  the front end.
> +
> +Additionally, this attribute supports function multiversioning for 
> +ELF based
> +x86/x86-64 targets, which can be used to create multiple 
> +implementations of the same function that will be resolved at runtime 
> +based on the priority of their ``target`` attribute strings. A 
> +function is considered a multiversioned function if either two 
> +declarations of the function have different ``target`` attribute
> +  strings, or if it has a ``target`` attribute string of ``default``.  
> +For
> +  example:
> +
> +  .. code-block:: c++
> +  __attribute__((target("arch=atom")))
> +  void foo() {} // will be called on 'atom' processors.
> +  __attribute__((target("default")))
> +  void foo() {} // will be called on any other processors.
> +
> +All multiversioned functions must contain a ``default`` (fallback) 
> +implementation, otherwise usages of the function are considered invalid.
> +Additionally, a function may not become multiversioned after its first use.
>  }];
>  }
>
>
>
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to