<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">On 10/30/13 7:09 PM, Philip Reames
      wrote:<br>
    </div>
    <blockquote cite="mid:5271BBEF.7090200@philipreames.com" type="cite">
      <meta content="text/html; charset=ISO-8859-1"
        http-equiv="Content-Type">
      <div class="moz-cite-prefix">David, Quentin - Thanks for the
        feedback.  Responses inline.<br>
        <br>
        On 10/30/13 11:21 AM, David Blaikie wrote:<br>
      </div>
      <blockquote
cite="mid:CAENS6EthtKzvRM3kv9Yxk0xidWZ_ioYFnuhaUgN2TuDdTDNk+A@mail.gmail.com"
        type="cite">
        <div dir="ltr">Actually CCing Eric.
          <div class="gmail_extra"><br>
            <br>
            <div class="gmail_quote">On Wed, Oct 30, 2013 at 11:00 AM,
              Quentin Colombet <span dir="ltr"><<a
                  moz-do-not-send="true"
                  href="mailto:qcolombet@apple.com" target="_blank">qcolombet@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 style="word-wrap:break-word">
                  <div>Philip,</div>
                  <div><br>
                  </div>
                  <div>Thanks for the clarification.</div>
                  <div><br>
                  </div>
                  <div>As far as I can tell, there is currently no way
                    to preserve a full and accurate stack trace while
                    utilizing most of LLVM’s optimization abilities.</div>
                  <div><br>
                  </div>
                  <div>The work on debug information may help you get
                    the information you need, but I do not think we will
                    provide information on stack frames that have been
                    removed via inlining or tail call. </div>
                </div>
              </blockquote>
              <div><br>
              </div>
              <div>In theory, at -gmlt we should emit enough debug info
                to give you accurate stack traces including inlined
                frames. Tail calls I assume we can't do anything about.</div>
            </div>
          </div>
        </div>
      </blockquote>
      Tail calls I'm not too worried about.  I'm reasonably sure that
      our existing optimizer doesn't do any tail call optimizations. 
      Given that, turning them off doesn't worry me too much performance
      wise.<br>
      <br>
      First, thank for you for mentioning the -gmit option.  I had been
      completely unaware of that.  I'll have to dig into the
      implementation and usage a bit.  Can you point me to any
      documentation?  A quick google search didn't turn up anything. <br>
      <br>
      Can you clarify two things for me?  First, is the intent that
      -gmit *always* provide accurate stack traces?  (modulo bugs of
      course)  If so, what is your subjective opinion on how close it
      comes to meeting that goal today?  (i.e. how much help would we
      need to contribute to get it to a solid state?)<br>
    </blockquote>
    David - Redoing my google searching with "gmlt" (i.e. the correct
    spelling) I see more useful links.  From what I can gather, -gmlt
    emits a strict subset of the debug information you'd see at -g.  Are
    you saying that "-g" should always be sufficient for accurate stack
    traces - even in the face of inlining?  This would be ideal for us. 
    <br>
    <br>
    Philip<br>
    <br>
  </body>
</html>