<html><head><meta http-equiv="Content-Type" content="text/html; charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div><br class=""><blockquote type="cite" class=""><div class="">On Aug 27, 2018, at 11:54 AM, David Blaikie <<a href="mailto:dblaikie@gmail.com" class="">dblaikie@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class="">Could you still come up with a practical test case for this? (doesn't necessarily need to be checked in, to be honest - but something to validate that this use case/support is needed & not working around a bug (& if it is working around a bug, that we know about it so we can remove the workaround eventually & not leave it in as folklore and cruft))<br class=""><br class="">I can imagine that there could be cases where there would be no common scope - due to inlining into a nodebug function (we have that classic assertion to ensure all scope chains lead to the DISubprogram that contains those locations - but that does not apply if there is no DISubprogram for a function - if it is nodebug and has had debug info inlined into it (which is still useful if, then, the nodebug function is inlined into somewhere else)). So maybe you can search around there.<br class=""></div></div></blockquote><div><br class=""></div><div>One of the testcases I had was the *entire* Swift standard library and unfortunately bugpoint was not helpful at reducing the IR. In Swift code it's possible to end up with thunks with no debug information, so that could fit the description. I'll see if I can find a smaller example that I can actually share.<br class=""></div><div><br class=""></div><div>-- adrian</div><div><br class=""></div><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><br class="">Though I also think probably the right answer here is not to pick one of the two locations, but to drop the location entirely.<br class=""><br class="">- Dave</div><br class=""><div class="gmail_quote"><div dir="ltr" class="">On Fri, Aug 24, 2018 at 4:31 PM Phabricator via Phabricator <<a href="mailto:reviews@reviews.llvm.org" class="">reviews@reviews.llvm.org</a>> wrote:<br class=""></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">This revision was not accepted when it landed; it landed in state "Needs Review".<br class="">
This revision was automatically updated to reflect the committed changes.<br class="">
Closed by commit rL340672: Prevent DILocation::getMergedLocation() from creating invalid metadata. (authored by adrian, committed by ).<br class="">
<br class="">
Changed prior to commit:<br class="">
  <a href="https://reviews.llvm.org/D51238?vs=162492&id=162499#toc" rel="noreferrer" target="_blank" class="">https://reviews.llvm.org/D51238?vs=162492&id=162499#toc</a><br class="">
<br class="">
Repository:<br class="">
  rL LLVM<br class="">
<br class="">
<a href="https://reviews.llvm.org/D51238" rel="noreferrer" target="_blank" class="">https://reviews.llvm.org/D51238</a><br class="">
<br class="">
Files:<br class="">
  llvm/trunk/lib/IR/DebugInfoMetadata.cpp<br class="">
  llvm/trunk/unittests/IR/MetadataTest.cpp<br class="">
<br class="">
</blockquote></div>
</div></blockquote></div><br class=""></body></html>