<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
{font-family:Tahoma;
panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:#0563C1;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:#954F72;
text-decoration:underline;}
p.msonormal0, li.msonormal0, div.msonormal0
{mso-style-name:msonormal;
mso-margin-top-alt:auto;
margin-right:0cm;
mso-margin-bottom-alt:auto;
margin-left:0cm;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
span.EmailStyle18
{mso-style-type:personal;
font-family:"Calibri",sans-serif;
color:windowtext;}
span.EmailStyle19
{mso-style-type:personal;
font-family:"Calibri",sans-serif;
color:windowtext;}
span.EmailStyle20
{mso-style-type:personal;
font-family:"Calibri",sans-serif;
color:#1F497D;}
span.EmailStyle21
{mso-style-type:personal-reply;
font-family:"Calibri",sans-serif;
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;}
@page WordSection1
{size:612.0pt 792.0pt;
margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-IN" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal"><span style="mso-fareast-language:EN-US">Hello Paul,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US">Thanks for the reply.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US">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.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">>> (Somebody is actively working on scaled binary operations, although they have not yet gotten to the point of wanting to support debug info.)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US">If possible, can you kindly get me in touch with them so I would not spend time on which is already been done?<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US">Regards,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<div>
<p class="MsoNormal"><b><span lang="EN-US" style="color:#2F5597;mso-fareast-language:FR-BE">Chirag Patel</span></b><span lang="EN-US" style="color:#2F5597;mso-fareast-language:FR-BE">| Software Engineer<b><br>
RAINCODE</b> Mainframe to .NET</span><span lang="X-NONE" style="mso-fareast-language:FR-BE"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-bottom:12.0pt"><b><span lang="EN-US" style="font-size:10.0pt;color:#2F5597;mso-fareast-language:FR-BE">Tel</span></b><span lang="EN-US" style="font-size:10.0pt;color:#2F5597;mso-fareast-language:FR-BE"> : +91
</span><span style="color:#2F5597">080 41159811</span><span style="font-size:10.0pt;color:#2F5597;mso-fareast-language:FR-BE">
</span><span lang="EN-US" style="font-size:10.0pt;color:#2F5597;mso-fareast-language:FR-BE">|
<b>Mob</b> : +91 90493 36744<br>
</span><a href="http://www.raincodelabs.com/"><span lang="EN-US" style="mso-fareast-language:FR-BE">www.raincodelabs.com</span></a><u><span lang="EN-US" style="mso-fareast-language:FR-BE"><o:p></o:p></span></u></p>
</div>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span lang="EN-US">From:</span></b><span lang="EN-US"> paul.robinson@sony.com <paul.robinson@sony.com>
<br>
<b>Sent:</b> 22 August 2018 23:03<br>
<b>To:</b> Chirag Patel <Chirag@raincode.com><br>
<b>Cc:</b> llvm-dev@lists.llvm.org<br>
<b>Subject:</b> RE: [llvm-dev] [DebugInfo] DIBuilder missing interface to generate DWARF info for packed_decimal basic type.<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">Hi Chirag,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">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.)<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">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.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">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.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">Thanks,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">--paulr<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">(who helped design the DWARF support for COBOL types a long time ago)<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D"><o:p> </o:p></span></p>
<div style="border:none;border-left:solid blue 1.5pt;padding:0cm 0cm 0cm 4.0pt">
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma",sans-serif">From:</span></b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma",sans-serif"> llvm-dev [</span><a href="mailto:llvm-dev-bounces@lists.llvm.org"><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma",sans-serif">mailto:llvm-dev-bounces@lists.llvm.org</span></a><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma",sans-serif">]
<b>On Behalf Of </b>Chirag Patel via llvm-dev<br>
<b>Sent:</b> Wednesday, August 22, 2018 2:10 AM<br>
<b>To:</b> </span><a href="mailto:llvm-dev@lists.llvm.org"><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma",sans-serif">llvm-dev@lists.llvm.org</span></a><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma",sans-serif"><br>
<b>Subject:</b> [llvm-dev] [DebugInfo] DIBuilder missing interface to generate DWARF info for packed_decimal basic type.<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal">Adding tags on subject line<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span lang="EN-US">From:</span></b><span lang="EN-US"> Chirag Patel
<br>
<b>Sent:</b> 22 August 2018 11:20<br>
<b>To:</b> </span><a href="mailto:llvm-dev@lists.llvm.org"><span lang="EN-US">llvm-dev@lists.llvm.org</span></a><span lang="EN-US"><br>
<b>Subject:</b> DIBuilder missing interface to generate DWARF info for packed_decimal basic type.<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Hello,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I am working on a llvm based compiler frontend in which, I am using the packed_decimal type encoding.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">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,<o:p></o:p></p>
<p class="MsoNormal">Like <o:p></o:p></p>
<p class="MsoNormal">(Missing)<o:p></o:p></p>
<p class="MsoNormal"> DW_AT_picture_string – should be MDString Node – not decided yet.<o:p></o:p></p>
<p class="MsoNormal"> DW_AT_decimal_sign – May be in DIflags with mask (5 distinct inputs), like FlagDSOverPunch, etc<o:p></o:p></p>
<p class="MsoNormal"> DW_AT_digit_count – unsigned integer, like unsigned DigitCount<o:p></o:p></p>
<p class="MsoNormal"> DW_AT_decimal_scale – integer, like int DecimalScale<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I am looking to add this info in DIBasicType class (DebugInfoMetadata.h) and would appreciate advice on above location.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Regrads,<o:p></o:p></p>
<p class="MsoNormal"><b><span lang="EN-US" style="color:#2F5597;mso-fareast-language:FR-BE"><o:p> </o:p></span></b></p>
<p class="MsoNormal"><b><span lang="EN-US" style="color:#2F5597;mso-fareast-language:FR-BE">Chirag Patel</span></b><span lang="EN-US" style="color:#2F5597;mso-fareast-language:FR-BE">| Software Engineer<b><br>
RAINCODE</b> Mainframe to .NET</span><span lang="X-NONE" style="mso-fareast-language:FR-BE"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-bottom:12.0pt"><b><span lang="EN-US" style="font-size:10.0pt;color:#2F5597;mso-fareast-language:FR-BE">Tel</span></b><span lang="EN-US" style="font-size:10.0pt;color:#2F5597;mso-fareast-language:FR-BE"> : +91
</span><span style="color:#2F5597">080 41159811</span><span style="font-size:10.0pt;color:#2F5597;mso-fareast-language:FR-BE">
</span><span lang="EN-US" style="font-size:10.0pt;color:#2F5597;mso-fareast-language:FR-BE">|
<b>Mob</b> : +91 90493 36744<br>
</span><a href="http://www.raincodelabs.com/"><span lang="EN-US" style="mso-fareast-language:FR-BE">www.raincodelabs.com</span></a><u><span lang="EN-US" style="mso-fareast-language:FR-BE"><o:p></o:p></span></u></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</div>
</body>
</html>