<div dir="ltr">Hi Duncan,<div><br></div><div>I'm in the following situation for which this change caused an assertion failure:</div><div><br></div><div>Three modules, let's say A B C</div><div>Two function, F in A, G in B</div><div><br></div><div>Now I CloneFunction F into B (call the new function F') and inline F' into G. </div><div>Now, for the problematic part, where I try to extract G (and all referenced values) into C:</div><div><br></div><div>upon encountering any debug node in the inlined code, it tries to clone the DISubprogram for F', so it creates a temporary. Since that refers to F', it'll now go ahead and copy F'. However, here once again it tries to copy the DISubprogram, which now just uses the temporary value from above (this is fine). Unfortunately, right after, it calls resolveCycles on the debug info annotation, which crashes with </div><div><br></div><div><div>Assertion failed: (!isa<MDNodeFwdDecl>(Op) && "Expected all forward declarations to be resolved"), function resolveCycles, file /Users/kfischer/julia/deps/llvm-svn/lib/IR/Metadata.cpp, line 459.</div></div><div><br></div><div>because we still have the temporary DISubprogram in there. </div><div><br></div><div>Any ideas what to do about this?</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Dec 10, 2014 at 12:22 AM, Duncan P. N. Exon Smith <span dir="ltr"><<a href="mailto:dexonsmith@apple.com" target="_blank">dexonsmith@apple.com</a>></span> wrote:<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">The `Metadata`/`Value` split (PR21532) landed in r223802 -- at least, the<br>
C++ side of it.  This was a rocky day, but I suppose that's what I get<br>
for failing to stage the change in smaller pieces.<br>
<br>
As of r223916 (lldb), I'm not aware of any remaining (in-tree) breakage,<br>
so if I've missed some problem in the sea of buildbot errors, please<br>
flag me down.<br>
<br>
I'll follow up soon with bitcode and assembly changes!<br>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a>         <a href="http://llvm.cs.uiuc.edu" target="_blank">http://llvm.cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>
</blockquote></div></div>