[llvm-dev] [RFC] Refactor class hierarchy of VectorType in the IR

John McCall via llvm-dev llvm-dev at lists.llvm.org
Fri May 22 18:31:09 PDT 2020


On 22 May 2020, at 20:59, Chris Tetreault wrote:
> John,
>
>> I’m not going to feel guilty about work you did for over a month 
>> without raising an RFC.
>
> I’m not sure what you mean by that, but I definitely did raise and 
> RFC over this. On March 9th, I raised the initial RFC.

I did actually mention “when you raised the RFC in March” in this 
email.  But you’d said you’d started working on this in January, in 
the context of talking about how much work you’d have to revisit.  I 
suppose you just meant that you started changing call sites over to 
using `getElementCount()` then; it does make sense that that’s still 
work you’d have to revisit, although I think my suggestion of 
temporarily deleting an “override” would substantially automate that 
review.

> I keep hearing that scalable vectors are experimental, and I don’t 
> think that this is the case. The initial introduction of the type as a 
> flag on VectorType was the experimental first step. Now we are taking 
> the step where we consider how the initial step played out, and adapt 
> with a well thought out solution.

This process that we’re engaged in right now is the community’s 
process of coming up with a well thought out solution.  It’s happening 
now, rather than during your RFC, because in practice I don’t think 
most interested people have the time to actively read llvmdev; it’s 
common that only threads that already have a bit of traffic (like this 
one) will get broader attention.  That is quite arguably a community 
process failure, but it’s nonetheless how it’s playing out.

I of course don’t speak for “the community”; none of us do 
individually.  If the consensus is that we should do it your way, 
that’s fine; it’s certainly not the first or more invasive API 
change that LLVM has ever made.  I do think Mehdi’s point is very 
important: when we talk about the rate of progress, we do need to 
consider the impact on downstream projects.  You’ve spent maybe 40-50 
workdays working on this, but I feel pretty confident that reacting to 
it downstream will cost substantially more time than that, no matter how 
mechanical the updates are, when summed across however many groups and 
companies are affected.  That doesn’t mean it can’t be the right 
thing to do, of course.  I just don’t think it is.

Anyhow, I’d be interested in hearing more people’s perspectives on 
it, and I’ll think about Eli’s post.

John.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20200522/91ee0fc8/attachment.html>


More information about the llvm-dev mailing list