Philip,<div><br></div><div>The patch submitted for review has already been updated to use Lint instead of Verifier.</div><div><br></div><div>-- </div><div>David Majnemer<br><br>On Monday, May 5, 2014, Philip Reames <<a href="mailto:listmail@philipreames.com">listmail@philipreames.com</a>> 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">
Speaking as someone with a language frontend which fairly frequently
generates nonsensical code you'd never see out of Clang, I
*strongly* agree that this functionality should not be in the
Verifier. :)<br>
<br>
Philip<br>
<br>
<div>On 05/03/2014 11:36 PM, Chandler
Carruth wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">Heh. Was actua0lly looking at this in my
post-commit review queue, and had the same comment. I think most
of the inalloca stuff is *much* better fitting as a lint check
than verifier.</div>
<div class="gmail_extra">
<br>
<br>
<div class="gmail_quote">On Sat, May 3, 2014 at 10:55 PM, Chris
Lattner <span dir="ltr"><<a href="javascript:_e(%7B%7D,'cvml','clattner@apple.com');" target="_blank">clattner@apple.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div><br>
On May 2, 2014, at 3:28 PM, Reid Kleckner <<a href="javascript:_e(%7B%7D,'cvml','rnk@google.com');" target="_blank">rnk@google.com</a>>
wrote:<br>
<br>
> So, we don't generally fail verification because
somebody gave us well-formed but nonsensical IR.<br>
<br>
</div>
Right.<br>
<div><br>
> I kind of compromised on the last verifier change
because I think it will save us lots of time, and we can
revert it if somebody objects. Consider the FAQ about
calling convention mismatches:<br>
><br>
> <a href="http://llvm.org/docs/FAQ.html#why-does-instcombine-simplifycfg-turn-a-call-to-a-function-with-a-mismatched-calling-convention-into-unreachable-why-not-make-the-verifier-reject-it" target="_blank">http://llvm.org/docs/FAQ.html#why-does-instcombine-simplifycfg-turn-a-call-to-a-function-with-a-mismatched-calling-convention-into-unreachable-why-not-make-the-verifier-reject-it</a><br>
><br>
> It's not clear to me that this new check will find
lots of optimizer bugs for us, but I could be proven
wrong, and yes, it might take more time to figure it out
without a verifier check. Anyway, I think we need a
second opinion to keep going in this direction, so I added
Nick.<br>
<br>
</div>
We really really should not put this kind of check into the
verifier. The compiler needs to be able to compile
nonsensical but structurally valid code, because it may be
dynamically dead, and it may be introduced by other
transformations.<br>
<br>
Not all hope is lost though, this is a great thing to add to
llvm/lib/Analysis/Lint.cpp<br>
<span><font color="#888888"><br>
-Chris<br>
</font></span>
<div>
<div>_______________________________________________<br>
llvm-commits mailing list<br>
<a href="javascript:_e(%7B%7D,'cvml','llvm-commits@cs.uiuc.edu');" target="_blank">llvm-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
</div>
</div>
</blockquote>
</div>
<br>
</div>
<br>
<fieldset></fieldset>
<br>
<pre>_______________________________________________
llvm-commits mailing list
<a href="javascript:_e(%7B%7D,'cvml','llvm-commits@cs.uiuc.edu');" target="_blank">llvm-commits@cs.uiuc.edu</a>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a>
</pre>
</blockquote>
<br>
</div>
</blockquote></div>