<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><br></div>Hi Duncan,<div><br></div><div>How can I debug the failures?</div><div>Also getDICompositeType is not used on mainline but is used on dragonegg, how can I figure out the usage?</div><div>Do  I have access to the source?</div><div><br></div><div>Thanks,</div><div>Manman</div><div><font class="Apple-style-span" color="#710000"><br></font><div><div>On Jul 18, 2013, at 8:56 PM, Eric Christopher wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div>Also this appears to have broken the dragonegg bots. :)<br><br>-eric<br><br>On Thu, Jul 18, 2013 at 6:08 PM, Eric Christopher <<a href="mailto:echristo@gmail.com">echristo@gmail.com</a>> wrote:<br><blockquote type="cite"><blockquote type="cite">Debug Info: enable verifying by default and disable testing cases that fail.<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">1> Use DebugInfoFinder to find debug info MDNodes.<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">2> Add disable-debug-info-verifier to disable verifying debug info.<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">3> Disable verifying for testing cases that fail (will update the testing cases<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">   later on).<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">4> MDNodes generated by clang can have empty filename for TAG_inheritance and<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">   TAG_friend, so DIType::Verify is modified accordingly.<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">Cool, looks about like what I'd expected from when we discussed it.<br></blockquote><blockquote type="cite">I'd have preferred you split out the change to verify :)<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><blockquote type="cite">Note that DebugInfoFinder does not list all debug info MDNode.<br></blockquote></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">Seems like we should fix this? :)<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><blockquote type="cite">For example, clang can generate:<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">metadata !{i32 786468}, which will fail to verify.<br></blockquote></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">This doesn't seem related to "not listing" all of the debug info, but<br></blockquote><blockquote type="cite">a problem because of:<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><blockquote type="cite">This MDNode is used by debug info but not included in DebugInfoFinder.<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">This MDNode is generated as a temporary node in DIBuilder::createFunction<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">  Value *TElts[] = { GetTagConstant(VMContext, DW_TAG_base_type) };<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">  MDNode::getTemporary(VMContext, TElts)<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">This is the "we need a temporary placeholder" problem basically.<br></blockquote><blockquote type="cite">You'll see it in GVs, subprograms etc when we construct the CU as<br></blockquote><blockquote type="cite">well. Theoretically the verifier should catch these as "not<br></blockquote><blockquote type="cite">important". What's actually going on here that's causing it to fail?<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">-eric<br></blockquote><blockquote type="cite">_______________________________________________<br></blockquote><blockquote type="cite">llvm-commits mailing list<br></blockquote><blockquote type="cite"><a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br></blockquote><blockquote type="cite"><a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br></blockquote></div></blockquote></div><br></div></body></html>