[llvm] r186634 - Debug Info: enable verifying by default and disable testing cases that fail.

Manman Ren mren at apple.com
Thu Jul 18 22:07:28 PDT 2013


Hi Duncan,

How can I debug the failures?
Also getDICompositeType is not used on mainline but is used on dragonegg, how can I figure out the usage?
Do  I have access to the source?

Thanks,
Manman

On Jul 18, 2013, at 8:56 PM, Eric Christopher wrote:

> Also this appears to have broken the dragonegg bots. :)
> 
> -eric
> 
> On Thu, Jul 18, 2013 at 6:08 PM, Eric Christopher <echristo at gmail.com> wrote:
>>> Debug Info: enable verifying by default and disable testing cases that fail.
>>> 
>>> 1> Use DebugInfoFinder to find debug info MDNodes.
>>> 2> Add disable-debug-info-verifier to disable verifying debug info.
>>> 3> Disable verifying for testing cases that fail (will update the testing cases
>>>   later on).
>>> 4> MDNodes generated by clang can have empty filename for TAG_inheritance and
>>>   TAG_friend, so DIType::Verify is modified accordingly.
>>> 
>> 
>> Cool, looks about like what I'd expected from when we discussed it.
>> I'd have preferred you split out the change to verify :)
>> 
>>> Note that DebugInfoFinder does not list all debug info MDNode.
>> 
>> Seems like we should fix this? :)
>> 
>>> For example, clang can generate:
>>> metadata !{i32 786468}, which will fail to verify.
>> 
>> This doesn't seem related to "not listing" all of the debug info, but
>> a problem because of:
>> 
>>> This MDNode is used by debug info but not included in DebugInfoFinder.
>>> This MDNode is generated as a temporary node in DIBuilder::createFunction
>>>  Value *TElts[] = { GetTagConstant(VMContext, DW_TAG_base_type) };
>>>  MDNode::getTemporary(VMContext, TElts)
>>> 
>> 
>> This is the "we need a temporary placeholder" problem basically.
>> You'll see it in GVs, subprograms etc when we construct the CU as
>> well. Theoretically the verifier should catch these as "not
>> important". What's actually going on here that's causing it to fail?
>> 
>> -eric
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130718/4bd9208f/attachment.html>


More information about the llvm-commits mailing list