[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