<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 06/29/2017 04:56 PM, Chandler
      Carruth via llvm-dev wrote:<br>
    </div>
    <blockquote
cite="mid:CAAwGriHYLD4WGQNS2iQ5E=NT9RK7mvpgY6HB97K8YWGtcWbg+w@mail.gmail.com"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html;
        charset=windows-1252">
      <div dir="ltr">
        <div class="gmail_quote">
          <div dir="ltr">On Thu, Jun 29, 2017 at 2:52 PM Peter Lawrence
            via llvm-dev <<a moz-do-not-send="true"
              href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>>
            wrote:<br>
          </div>
          <blockquote class="gmail_quote" style="margin:0 0 0
            .8ex;border-left:1px #ccc solid;padding-left:1ex">
            <div style="word-wrap:break-word">
              <div>I would start looking for a more complete example
                myself, but my<br>
              </div>
              <div>Belief is so strong that "optimizing undefined
                behavior" seems </div>
              <div>like a self-contradiction to me, and I don’t know
                where to</div>
              <div>Even start looking.</div>
            </div>
          </blockquote>
        </div>
      </div>
    </blockquote>
    <br>
    To be clear (and to reiterate what Sanjoy said), you're not looking
    for optimization *of* UB. You're looking for optimizing on the basis
    of the assumption that the UB is not dynamically reachable. In some
    contexts you can think of this as an assumption that undef/poison
    values don't contribute to any observable side effects of the
    program.<br>
    <br>
     -Hal<br>
    <br>
    <blockquote
cite="mid:CAAwGriHYLD4WGQNS2iQ5E=NT9RK7mvpgY6HB97K8YWGtcWbg+w@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div class="gmail_quote">
          <div><br>
          </div>
          <div>If you can't take the time to provide evidence to back up
            your belief, then...</div>
          <div> </div>
          <blockquote class="gmail_quote" style="margin:0 0 0
            .8ex;border-left:1px #ccc solid;padding-left:1ex">
            <div style="word-wrap:break-word">
              <div>So I’m eagerly awaiting Hal’s (or anyone else's) next
                email<br>
              </div>
              <div>That has a complete example.</div>
            </div>
          </blockquote>
          <div><br>
          </div>
          <div>... I don't think it is reasonable to expect others to
            take their time.</div>
          <div><br>
          </div>
          <div>I understand you have this belief and find it
            incompatible with the LLVM community. I think several folks
            have tried to persuade you that there is merit in the design
            of LLVM here, but I understand you remain unconvinced.</div>
          <div><br>
          </div>
          <div>Perhaps you will start a compiler project based on your
            convictions here and develop it and show why that is a
            better way to start a compiler project. But without actually
            contributing to LLVM and showing clearly (and incrementally)
            how to improve it based on your belief with evidence to back
            it up, I don't think reiterating your belief on the list is
            a productive thing to do.</div>
          <div><br>
          </div>
          <div>-Chandler</div>
        </div>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
LLVM Developers mailing list
<a class="moz-txt-link-abbreviated" href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>
<a class="moz-txt-link-freetext" href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a>
</pre>
    </blockquote>
    <br>
    <pre class="moz-signature" cols="72">-- 
Hal Finkel
Lead, Compiler Technology and Programming Languages
Leadership Computing Facility
Argonne National Laboratory</pre>
  </body>
</html>