[LLVMdev] Overloaded intrinsics: name explosion
Philip Reames
listmail at philipreames.com
Fri Jan 16 10:47:55 PST 2015
On 01/15/2015 07:21 PM, Ramkumar Ramachandra wrote:
> Philip Reames wrote:
>>> 1. Introduce aAny.
>> Having a generic any type seems fine. I assume you'd create something like
>> an llvm_any_type in Intrinsics.td?
> That's precisely what ifavpAny is about: integer, float, array,
> vector, pointer Any. aAny is meant for array-Any,*and I wonder why so
> few people care about arrays.*I'll go ahead with Any and
> llvm_any_type.
(The following is an utter tangent from the original question and is my
personal opinion only.)
First Class Aggregates (FCAs) - which include arrays and structs - are
in a weird middle ground of being supported, but not really optimized.
Part of the problem is that no one has expressed a clear use case for
them. If we decided they were just a convenience for the frontend, we
could lower them early. However, this would give up some potential
optimization benefit, so there's been a reluctance to do that. Instead,
we're left in this awkward position where they 'work' but aren't really
recommended for use.
To fix this, we really need an active contributor who wants to use them
and drive things forward. That hasn't happen to date. Unfortunately, I
think we've managed to drive away a couple of folks who might have
become that person due to the slow and rambling debates that tend to
arise on FCA review threads. This will eventually get resolved, but I
don't see that happening in the immediate future.
Philip
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150116/ffa1dcd7/attachment.html>
More information about the llvm-dev
mailing list