<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">On 07/14/2017 02:04 PM, Daniel Berlin
wrote:<br>
</div>
<blockquote
cite="mid:CAF4BwTWuRtDVEiLVog+2gdtLzTreLX+OHLdA59NN-X8LbGLu5A@mail.gmail.com"
type="cite">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<div dir="ltr"><br>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Fri, Jul 14, 2017 at 11:46 AM, Hal
Finkel <span dir="ltr"><<a moz-do-not-send="true"
href="mailto:hfinkel@anl.gov" target="_blank">hfinkel@anl.gov</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
<div>
<div class="h5">
<p><br>
</p>
<div class="m_-5664487713594278861moz-cite-prefix">On
07/14/2017 01:38 PM, Daniel Berlin wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">
<div class="gmail_extra">
<div class="gmail_quote">
<blockquote class="gmail_quote"
style="margin:0 0 0 .8ex;border-left:1px
#ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
<div>
<div class="m_-5664487713594278861h5"><br>
</div>
</div>
Not sure about this last part. It is
really going to require work by us to
rewrite things. :-) In the mean time, I
think we should go ahead with this.</div>
</blockquote>
<div><br>
</div>
<div>FWIW: My problem is, when put in this
framework, we will repeatedly make this
same decision, this same way, again and
again, and never actually get even started
on fixing it :)</div>
<div><br>
</div>
<div>IE "it's just another small patch!"</div>
</div>
</div>
</div>
</blockquote>
<br>
</div>
</div>
You're correct. However, as I'm sure you're aware,
developer time is not directly transferable in a way
that makes any other decision optimal. It's not like
blocking all improvements to InstCombine will cause a
movement to appear to rewrite InstCombine.</div>
</blockquote>
<div>Of course not, but this sets it up as an all or
nothing thing, and it's not.</div>
<div>Though you probably will need a stop loss point in the
future.</div>
<div> <br>
</div>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">It will only cause a
shrink in the pool of developers with recent experience
working on InstCombine (and a lot of out-of-tree
patches). </div>
</blockquote>
<div>This is not the only effect it will have, and i don't
believe you think that either (since this argument is
globally applicable to the degree that it would mean we
should just accept *every patch* rather than push people
to better design stuff). </div>
<div>It would also, for example, push people towards putting
transformations elsewhere.</div>
</div>
</div>
</div>
</blockquote>
<br>
Correct, we should insist on the best technical decisions given the
current infrastructure (or current infrastructure with incremental
improvements). <br>
<br>
<blockquote
cite="mid:CAF4BwTWuRtDVEiLVog+2gdtLzTreLX+OHLdA59NN-X8LbGLu5A@mail.gmail.com"
type="cite">
<div dir="ltr">
<div class="gmail_extra">
<div class="gmail_quote">
<div> <br>
</div>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">Frankly, we don't
even have a concrete plan for how we'd do this, or even
a target design, and that's the first item on the
critical path to a rewrite.</div>
</blockquote>
<div> Sure, and frankly, you will never get one until either
someone decides to be super-altruistic, or you start
pushing on people a little more than "not at all".<br>
</div>
<div><br>
</div>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000"> We should start an
RFC and iterate on this until we have a concrete plan
and migration plan.</div>
</blockquote>
<div><br>
</div>
<div>I don't believe that will actually achieve anything at
this point (really, no offense meant)</div>
<div>So I'm just going to leave this stuff alone since it's
pretty clear people just view me as being either
obstructionist or unrealistic.</div>
<div><br>
</div>
<div>I don't see anything happening until we are willing to
push more, and i don't see that happening until
instcombine is even worse than it is now.</div>
</div>
</div>
</div>
</blockquote>
<br>
No offense taken, but at this point, even if we were going to push
people to work on a new system, we don't even have a concrete thing
to suggest they do. I'd be really interested in exploring, for
example, whether some Stratego/XT-like system would be better, and
how we might construct it, the degree to which such a system can
remain sound and efficient in the presence "arbitrary" C++
predicates, etc. There's also significant interest in encoding these
transformations in a form that can be mechanically transformed such
that they can be verified by some SMT-solver-backed checker (e.g.
Alive).<br>
<br>
Thanks again,<br>
Hal<br>
<br>
<pre class="moz-signature" cols="72">--
Hal Finkel
Lead, Compiler Technology and Programming Languages
Leadership Computing Facility
Argonne National Laboratory</pre>
</body>
</html>