<div dir="ltr">Could be - if you wanted to submit an NFC change to refactor the existing code to look more like this - for general readability and to make your subsequent change more diff friendly, that might be an idea.</div><br><div class="gmail_quote"><div dir="ltr">On Fri, Nov 11, 2016 at 11:31 AM Paul Robinson <<a href="mailto:paul.robinson@sony.com">paul.robinson@sony.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">probinson added a comment.<br class="gmail_msg">
<br class="gmail_msg">
I was wondering if maybe I should restructure the DwarfDebug.cpp bit.  Currently it's like<br class="gmail_msg">
<br class="gmail_msg">
  beginInstruction() {<br class="gmail_msg">
    if (!MI->isDebugValue()) {<br class="gmail_msg">
      if (DL != PrevInstLoc) {<br class="gmail_msg">
        if (DL) {<br class="gmail_msg">
          // case for a new, explicit location<br class="gmail_msg">
        } else if (somewhat complicated condition) {<br class="gmail_msg">
          // case for emitting line-0<br class="gmail_msg">
        }<br class="gmail_msg">
      } else if (DL) {<br class="gmail_msg">
        if (DL.getLine() != LastAsmLine) {<br class="gmail_msg">
          // case for restoring a previous line after emitting line-0<br class="gmail_msg">
        }<br class="gmail_msg">
      }<br class="gmail_msg">
    }<br class="gmail_msg">
  } // end of function<br class="gmail_msg">
<br class="gmail_msg">
and this could easily be redone as a sequence of much-less-indented cases:<br class="gmail_msg">
<br class="gmail_msg">
  beginInstruction() {<br class="gmail_msg">
    if (MI->isDebugValue())<br class="gmail_msg">
      return;<br class="gmail_msg">
    if (DL == PrevInstLoc) {<br class="gmail_msg">
      if (DL && DL.getLine() != LastAsmLine) {<br class="gmail_msg">
        // case for restoring a previous line after emitting line-0<br class="gmail_msg">
      }<br class="gmail_msg">
      return;<br class="gmail_msg">
    }<br class="gmail_msg">
    // DL != PrevInstLoc<br class="gmail_msg">
    if (DL) {<br class="gmail_msg">
      // case for a new, explicit location<br class="gmail_msg">
      return;<br class="gmail_msg">
    }<br class="gmail_msg">
    if (somewhat complicated condition) {<br class="gmail_msg">
      // case for emitting line-0<br class="gmail_msg">
    }<br class="gmail_msg">
  }<br class="gmail_msg">
<br class="gmail_msg">
Would that help?  The diff would be harder to read but the result might make more sense.<br class="gmail_msg">
<br class="gmail_msg">
<br class="gmail_msg">
<a href="https://reviews.llvm.org/D24180" rel="noreferrer" class="gmail_msg" target="_blank">https://reviews.llvm.org/D24180</a><br class="gmail_msg">
<br class="gmail_msg">
<br class="gmail_msg">
<br class="gmail_msg">
</blockquote></div>