[LLVMdev] DIFactory interface is going away

Devang Patel dpatel at apple.com
Thu Feb 24 15:22:52 PST 2011


On Feb 24, 2011, at 1:34 PM, Jason Kim wrote:

> On Thu, Feb 24, 2011 at 1:29 PM, Devang Patel <dpatel at apple.com> wrote:
>> Hi All,
>> DIFactory interface, part of DebugInfo.h, is used to emit LLVM IR constructs
>> to encode debugging information. We are replacing this interface with new
>> simple interface, DIBuilder.
>> Here is one example that demonstrates differences between two interfaces. To
>> create debug information entries to encode volatile type one would use
>> following call in a language front end,
>> CreateDerivedType(DW_TAG_volatile_type, Context, StringRef(), File,
>>                           0 /*line no*/, type_size_in_bits,
>> type_align_in_bits,
>>                           0 /* offset */, 0 /* flags */, OriginalType);
>> using DIFactory interface. Now, DIBuilder allows you to do the same using
>> following call.
>> createQualifiedType(DW_TAG_volatile_type, OriginalType);
>> DIBuilder interface was introduced in Nov/Dec last year. Now, clang has
>> fully adopted this new interface. So we are going to remove DIFactory from
>> llvm sources soon. Our plan is to move DIFactory interface in dragonegg (and
>> llvm-gcc) for now until the front-ends adopt DIBuilder.
>> If you have any concerns about this plan, please speak up now.
> 
> Assuming it has no impact on the actual dwarf tags,

yup, that's true.

> smaller code is better!
> -jason
> 
> 
>> -
>> Devang
>> _______________________________________________
>> LLVM Developers mailing list
>> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>> 
>> 





More information about the llvm-dev mailing list