Chirag Patel via llvm-dev
2018-Aug-23 04:59 UTC
[llvm-dev] [DebugInfo] DIBuilder missing interface to generate DWARF info for packed_decimal basic type.
Hello Paul, Thanks for the reply. Yes, I am only looking for dwarf support at the moment and planning to support both PLI/COBOL decimal types. Also thanks for the suggestion, you are right as it is going to be rare cases, so it will be better to implement a separate subclass to avoid memory overhead for others.>> (Somebody is actively working on scaled binary operations, although they have not yet gotten to the point of wanting to support debug info.)If possible, can you kindly get me in touch with them so I would not spend time on which is already been done? Regards, Chirag Patel| Software Engineer RAINCODE Mainframe to .NET Tel : +91 080 41159811 | Mob : +91 90493 36744 www.raincodelabs.com<http://www.raincodelabs.com/> From: paul.robinson at sony.com <paul.robinson at sony.com> Sent: 22 August 2018 23:03 To: Chirag Patel <Chirag at raincode.com> Cc: llvm-dev at lists.llvm.org Subject: RE: [llvm-dev] [DebugInfo] DIBuilder missing interface to generate DWARF info for packed_decimal basic type. Hi Chirag, The DW_ATE_packed_decimal (etc) constants exist because they are merely additional values in an enumeration, and we just added all the values defined in DWARF to the enumeration . LLVM does not actually support any of the decimal types, or scaled binary types. (Somebody is actively working on scaled binary operations, although they have not yet gotten to the point of wanting to support debug info.) Without spending much time thinking about it, my inclination would be to add a new method to DIBuilder for the decimal and scaled binary types, because the additional parameters are meaningless in any other context. You might also consider whether to add a separate subclass of DIBasicType to handling scaling and decimal attributes. The decimal and scaled types are quite unusual, and we would not want to impose additional memory cost on all basic types to support these relatively rare cases. Are you planning to support all the decimal types? I know the OpenVMS people will also want them, for COBOL and other languages, so there's benefit in having proper support in LLVM. But even if you are interested only in packed decimal, the infrastructure ought to be designed to handle all cases. Thanks, --paulr (who helped design the DWARF support for COBOL types a long time ago) From: llvm-dev [mailto:llvm-dev-bounces at lists.llvm.org] On Behalf Of Chirag Patel via llvm-dev Sent: Wednesday, August 22, 2018 2:10 AM To: llvm-dev at lists.llvm.org<mailto:llvm-dev at lists.llvm.org> Subject: [llvm-dev] [DebugInfo] DIBuilder missing interface to generate DWARF info for packed_decimal basic type. Adding tags on subject line From: Chirag Patel Sent: 22 August 2018 11:20 To: llvm-dev at lists.llvm.org<mailto:llvm-dev at lists.llvm.org> Subject: DIBuilder missing interface to generate DWARF info for packed_decimal basic type. Hello, I am working on a llvm based compiler frontend in which, I am using the packed_decimal type encoding. During using the llvm DIBuilder, I found out that the interface to create BasicType with packed_decimal encoding(DW_ATE_packed_decimal), is missing all the related encoding stuff, Like (Missing) DW_AT_picture_string - should be MDString Node - not decided yet. DW_AT_decimal_sign - May be in DIflags with mask (5 distinct inputs), like FlagDSOverPunch, etc DW_AT_digit_count - unsigned integer, like unsigned DigitCount DW_AT_decimal_scale - integer, like int DecimalScale I am looking to add this info in DIBasicType class (DebugInfoMetadata.h) and would appreciate advice on above location. Regrads, Chirag Patel| Software Engineer RAINCODE Mainframe to .NET Tel : +91 080 41159811 | Mob : +91 90493 36744 www.raincodelabs.com<http://www.raincodelabs.com/> -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20180823/2cff2b0b/attachment-0001.html>
via llvm-dev
2018-Aug-23 15:54 UTC
[llvm-dev] [DebugInfo] DIBuilder missing interface to generate DWARF info for packed_decimal basic type.
>> (Somebody is actively working on scaled binary operations, although they have not yet gotten to the point of wanting to support debug info.)If possible, can you kindly get me in touch with them so I would not spend time on which is already been done? If you look on llvm-dev for the discussion "[llvm-dev] Fixed Point Support in LLVM" you'll find them: Leonard Chan leonardchan at google.com<mailto:leonardchan at google.com> Bevin Hansson bevin.hansson at ericsson.com<mailto:bevin.hansson at ericsson.com> Admittedly this looks like binary-scaled, not decimal-scaled (I've been following the discussion, but not closely), so it might not be directly helpful to you; I don't remember whether PL/I has binary-scaled types. However, DWARF supports both binary and decimal scale factors, so the DIBuilder and LLVM debug-info support should permit both. John Reagan john.reagan at vmssoftware.com<mailto:john.reagan at vmssoftware.com> will also be looking ahead to supporting these types when the OpenVMS project gets to the point of supporting their broad range of non-C/C++ compilers, which includes PL/I and COBOL. Regards, --paulr -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20180823/a6206eb3/attachment.html>
Chirag Patel via llvm-dev
2018-Aug-24 05:09 UTC
[llvm-dev] [DebugInfo] DIBuilder missing interface to generate DWARF info for packed_decimal basic type.
Thank you paul, that was helpful. Regards, Chirag Patel| Software Engineer RAINCODE Mainframe to .NET Tel : +91 080 41159811 | Mob : +91 90493 36744 www.raincodelabs.com<http://www.raincodelabs.com/> From: paul.robinson at sony.com <paul.robinson at sony.com> Sent: 23 August 2018 21:25 To: Chirag Patel <Chirag at raincode.com> Cc: llvm-dev at lists.llvm.org; raincode-plidevel at lzlabs.com Subject: RE: [llvm-dev] [DebugInfo] DIBuilder missing interface to generate DWARF info for packed_decimal basic type.>> (Somebody is actively working on scaled binary operations, although they have not yet gotten to the point of wanting to support debug info.)If possible, can you kindly get me in touch with them so I would not spend time on which is already been done? If you look on llvm-dev for the discussion "[llvm-dev] Fixed Point Support in LLVM" you'll find them: Leonard Chan leonardchan at google.com<mailto:leonardchan at google.com> Bevin Hansson bevin.hansson at ericsson.com<mailto:bevin.hansson at ericsson.com> Admittedly this looks like binary-scaled, not decimal-scaled (I've been following the discussion, but not closely), so it might not be directly helpful to you; I don't remember whether PL/I has binary-scaled types. However, DWARF supports both binary and decimal scale factors, so the DIBuilder and LLVM debug-info support should permit both. John Reagan john.reagan at vmssoftware.com<mailto:john.reagan at vmssoftware.com> will also be looking ahead to supporting these types when the OpenVMS project gets to the point of supporting their broad range of non-C/C++ compilers, which includes PL/I and COBOL. Regards, --paulr -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20180824/6fb3d191/attachment.html>
Mattias Eriksson V via llvm-dev
2018-Aug-28 15:24 UTC
[llvm-dev] [DebugInfo] DIBuilder missing interface to generate DWARF info for packed_decimal basic type.
On 08/23/2018 06:59 AM, Chirag Patel via llvm-dev wrote:> Hello Paul, > > Thanks for the reply. > > Yes, I am only looking for dwarf support at the moment and planning to > support both PLI/COBOL decimal types. Also thanks for the suggestion, > you are right as it is going to be rare cases, so it will be better to > implement a separate subclass to avoid memory overhead for others. > >>> (Somebody is actively working on scaled binary operations, although they have not yet gotten to the point of wanting to support debug info.) > > If possible, can you kindly get me in touch with them so I would not > spend time on which is already been done?Hi! In our out-of-tree compiler we have added custom types for the fixed-point types that we support. (We also use an out-of-tree gdb). So unfortunately this means that we have not done any work on getting any of the general Dwarf to work for these types. -- Mattias> > Regards, > > *Chirag Patel*| Software Engineer* > RAINCODE* Mainframe to .NET > > *Tel* : +91 080 41159811| *Mob* : +91 90493 36744 > www.raincodelabs.com <http://www.raincodelabs.com/>__ > > *From:*paul.robinson at sony.com <paul.robinson at sony.com> > *Sent:* 22 August 2018 23:03 > *To:* Chirag Patel <Chirag at raincode.com> > *Cc:* llvm-dev at lists.llvm.org > *Subject:* RE: [llvm-dev] [DebugInfo] DIBuilder missing interface to > generate DWARF info for packed_decimal basic type. > > Hi Chirag, > > The DW_ATE_packed_decimal (etc) constants exist because they are merely > additional values in an enumeration, and we just added all the values > defined in DWARF to the enumeration . LLVM does not actually support > any of the decimal types, or scaled binary types. (Somebody is actively > working on scaled binary operations, although they have not yet gotten > to the point of wanting to support debug info.) > > Without spending much time thinking about it, my inclination would be to > add a new method to DIBuilder for the decimal and scaled binary types, > because the additional parameters are meaningless in any other context. > You might also consider whether to add a separate subclass of > DIBasicType to handling scaling and decimal attributes. The decimal and > scaled types are quite unusual, and we would not want to impose > additional memory cost on all basic types to support these relatively > rare cases. > > Are you planning to support all the decimal types? I know the OpenVMS > people will also want them, for COBOL and other languages, so there's > benefit in having proper support in LLVM. But even if you are > interested only in packed decimal, the infrastructure ought to be > designed to handle all cases. > > Thanks, > > --paulr > > (who helped design the DWARF support for COBOL types a long time ago) > > *From:*llvm-dev [mailto:llvm-dev-bounces at lists.llvm.org] *On Behalf Of > *Chirag Patel via llvm-dev > *Sent:* Wednesday, August 22, 2018 2:10 AM > *To:* llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org> > *Subject:* [llvm-dev] [DebugInfo] DIBuilder missing interface to > generate DWARF info for packed_decimal basic type. > > Adding tags on subject line > > *From:*Chirag Patel > *Sent:* 22 August 2018 11:20 > *To:* llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org> > *Subject:* DIBuilder missing interface to generate DWARF info for > packed_decimal basic type. > > Hello, > > I am working on a llvm based compiler frontend in which, I am using the > packed_decimal type encoding. > > During using the llvm DIBuilder, I found out that the interface to > create BasicType with packed_decimal encoding(DW_ATE_packed_decimal), is > missing all the related encoding stuff, > > Like > > (Missing) > > DW_AT_picture_string – should be MDString Node – not > decided yet. > > DW_AT_decimal_sign – May be in DIflags with mask (5 > distinct inputs), like FlagDSOverPunch, etc > > DW_AT_digit_count – unsigned integer, like unsigned > DigitCount > > DW_AT_decimal_scale – integer, like int DecimalScale > > I am looking to add this info in DIBasicType class (DebugInfoMetadata.h) > and would appreciate advice on above location. > > Regrads, > > ** > > *Chirag Patel*| Software Engineer* > RAINCODE* Mainframe to .NET > > *Tel* : +91 080 41159811| *Mob* : +91 90493 36744 > www.raincodelabs.com <http://www.raincodelabs.com/>__ > > > > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev >
Chirag Patel via llvm-dev
2018-Aug-30 02:38 UTC
[llvm-dev] [DebugInfo] DIBuilder missing interface to generate DWARF info for packed_decimal basic type.
Hello Mattias, Thanks for the info. I am only looking for related dwarf generation part in llvm using the general DWARF spec. Currently just measuring the work needed to get there. Regards, Chirag Patel. Chirag Patel| Software Engineer RAINCODE Mainframe to .NET Tel : +91 080 41159811 | Mob : +91 90493 36744 www.raincodelabs.com -----Original Message----- From: Mattias Eriksson V <mattias.v.eriksson at ericsson.com> Sent: 28 August 2018 20:54 To: Chirag Patel <Chirag at raincode.com>; paul.robinson at sony.com Cc: llvm-dev at lists.llvm.org; raincode-plidevel at lzlabs.com Subject: Re: [llvm-dev] [DebugInfo] DIBuilder missing interface to generate DWARF info for packed_decimal basic type. On 08/23/2018 06:59 AM, Chirag Patel via llvm-dev wrote:> Hello Paul, > > Thanks for the reply. > > Yes, I am only looking for dwarf support at the moment and planning to > support both PLI/COBOL decimal types. Also thanks for the suggestion, > you are right as it is going to be rare cases, so it will be better to > implement a separate subclass to avoid memory overhead for others. > >>> (Somebody is actively working on scaled binary operations, although >>>they have not yet gotten to the point of wanting to support debug >>>info.) > > If possible, can you kindly get me in touch with them so I would not > spend time on which is already been done?Hi! In our out-of-tree compiler we have added custom types for the fixed-point types that we support. (We also use an out-of-tree gdb). So unfortunately this means that we have not done any work on getting any of the general Dwarf to work for these types. -- Mattias> > Regards, > > *Chirag Patel*| Software Engineer* > RAINCODE* Mainframe to .NET > > *Tel* : +91 080 41159811| *Mob* : +91 90493 36744 www.raincodelabs.com > <http://www.raincodelabs.com/>__ > > *From:*paul.robinson at sony.com <paul.robinson at sony.com> > *Sent:* 22 August 2018 23:03 > *To:* Chirag Patel <Chirag at raincode.com> > *Cc:* llvm-dev at lists.llvm.org > *Subject:* RE: [llvm-dev] [DebugInfo] DIBuilder missing interface to > generate DWARF info for packed_decimal basic type. > > Hi Chirag, > > The DW_ATE_packed_decimal (etc) constants exist because they are > merely additional values in an enumeration, and we just added all the > values defined in DWARF to the enumeration . LLVM does not actually > support any of the decimal types, or scaled binary types. (Somebody > is actively working on scaled binary operations, although they have > not yet gotten to the point of wanting to support debug info.) > > Without spending much time thinking about it, my inclination would be > to add a new method to DIBuilder for the decimal and scaled binary > types, because the additional parameters are meaningless in any other context. > You might also consider whether to add a separate subclass of > DIBasicType to handling scaling and decimal attributes. The decimal > and scaled types are quite unusual, and we would not want to impose > additional memory cost on all basic types to support these relatively > rare cases. > > Are you planning to support all the decimal types? I know the OpenVMS > people will also want them, for COBOL and other languages, so there's > benefit in having proper support in LLVM. But even if you are > interested only in packed decimal, the infrastructure ought to be > designed to handle all cases. > > Thanks, > > --paulr > > (who helped design the DWARF support for COBOL types a long time ago) > > *From:*llvm-dev [mailto:llvm-dev-bounces at lists.llvm.org] *On Behalf Of > *Chirag Patel via llvm-dev > *Sent:* Wednesday, August 22, 2018 2:10 AM > *To:* llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org> > *Subject:* [llvm-dev] [DebugInfo] DIBuilder missing interface to > generate DWARF info for packed_decimal basic type. > > Adding tags on subject line > > *From:*Chirag Patel > *Sent:* 22 August 2018 11:20 > *To:* llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org> > *Subject:* DIBuilder missing interface to generate DWARF info for > packed_decimal basic type. > > Hello, > > I am working on a llvm based compiler frontend in which, I am using > the packed_decimal type encoding. > > During using the llvm DIBuilder, I found out that the interface to > create BasicType with packed_decimal encoding(DW_ATE_packed_decimal), > is missing all the related encoding stuff, > > Like > > (Missing) > > DW_AT_picture_string - should be MDString Node - not > decided yet. > > DW_AT_decimal_sign - May be in DIflags with mask (5 > distinct inputs), like FlagDSOverPunch, etc > > DW_AT_digit_count - unsigned integer, like unsigned > DigitCount > > DW_AT_decimal_scale - integer, like int DecimalScale > > I am looking to add this info in DIBasicType class > (DebugInfoMetadata.h) and would appreciate advice on above location. > > Regrads, > > ** > > *Chirag Patel*| Software Engineer* > RAINCODE* Mainframe to .NET > > *Tel* : +91 080 41159811| *Mob* : +91 90493 36744 www.raincodelabs.com > <http://www.raincodelabs.com/>__ > > > > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev >