<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body 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 class="moz-cite-prefix">On 05/03/2014 11:36 PM, Chandler
      Carruth wrote:<br>
    </div>
    <blockquote
cite="mid:CAGCO0Kj3_4JW2oCvZWa-sO=KE9JPVch9VtZ97QaHQo7cix+bGA@mail.gmail.com"
      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 moz-do-not-send="true"
              href="mailto: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 class=""><br>
              On May 2, 2014, at 3:28 PM, Reid Kleckner <<a
                moz-do-not-send="true" href="mailto:rnk@google.com">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 class=""><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 moz-do-not-send="true"
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 class="HOEnZb"><font color="#888888"><br>
                -Chris<br>
              </font></span>
            <div class="HOEnZb">
              <div class="h5">_______________________________________________<br>
                llvm-commits mailing list<br>
                <a moz-do-not-send="true"
                  href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>
                <a moz-do-not-send="true"
                  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 class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
llvm-commits mailing list
<a class="moz-txt-link-abbreviated" href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a>
<a class="moz-txt-link-freetext" href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>