[cfe-dev] Removal of built-ins

John McCall via cfe-dev cfe-dev at lists.llvm.org
Thu Jun 2 17:25:00 PDT 2016


> On Jun 1, 2016, at 1:11 PM, Eric Christopher via cfe-dev <cfe-dev at lists.llvm.org> wrote:
> On Wed, Jun 1, 2016 at 8:37 AM C Bergström <cfe-dev at lists.llvm.org <mailto:cfe-dev at lists.llvm.org>> wrote:
> On Wed, Jun 1, 2016 at 11:26 PM, Reid Kleckner <rnk at google.com <mailto:rnk at google.com>> wrote:
> > Clang has never exposed the same set of builtins as GCC, though:
> > http://clang.llvm.org/compatibility.html#vector_builtins <http://clang.llvm.org/compatibility.html#vector_builtins>
> >
> > I don't think we need to keep our IA32 vector builtin interface stable when
> > the *mmintrin.h headers already provide a stable, portable, cross-vendor
> > interface to the same functionality.
> 
> I didn't mention gcc.. I agree they shouldn't be used in the wild, but
> they are..
> 
> Why not leave the built-in support and under the hood just map that to
> something more portable? This is a pretty low cost (zero?) maintenance
> burden...
> 
> Intentionally breaking stuff without at least giving any warning or
> marking as deprecated in a major release 1st.. Is this an exception
> because __built-ins are grey area support?
> 
> 
> What Reid is saying has been our policy from the beginning, there's even a script in the repository (that I sadly haven't updated in years) that helps handle the transition between builtins and the *mmintrin.h headers.

I agree that we don't need to support undocumented builtins.

John.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20160602/17611574/attachment.html>


More information about the cfe-dev mailing list