<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/xhtml; charset=utf-8">
</head>
<body>
<div style="font-family:sans-serif"><div style="white-space:normal">
<p dir="auto">On 22 May 2020, at 20:59, Chris Tetreault wrote:</p>

</div>
<div style="white-space:normal"><blockquote style="border-left:2px solid #777; color:#777; margin:0 0 5px; padding-left:5px"><p dir="auto">John,<br>
</p>
<blockquote style="border-left:2px solid #777; color:#999; margin:0 0 5px; padding-left:5px; border-left-color:#999"><p dir="auto">I’m not going to feel guilty about work you did for over a month without raising an RFC.</p>
</blockquote><p dir="auto">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.</p>
</blockquote></div>
<div style="white-space:normal">

<p dir="auto">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 <code style="background-color:#F7F7F7; border-radius:3px; margin:0; padding:0 0.4em" bgcolor="#F7F7F7">getElementCount()</code> 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.</p>

</div>
<div style="white-space:normal"><blockquote style="border-left:2px solid #777; color:#777; margin:0 0 5px; padding-left:5px"><p dir="auto">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.</p>
</blockquote></div>
<div style="white-space:normal">

<p dir="auto">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.</p>

<p dir="auto">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.</p>

<p dir="auto">Anyhow, I’d be interested in hearing more people’s perspectives on it, and I’ll think about Eli’s post.</p>

<p dir="auto">John.</p>
</div>
</div>
</body>
</html>