<div dir="ltr"><div dir="ltr"><div>Hi Momchil,</div><div>I am using something like this and we do not get Location information.</div><div><br></div><div><div style="color:rgb(0,0,0);background-color:rgb(255,255,254)"><div><span style="color:rgb(0,0,255)">#include<</span><span style="color:rgb(163,21,21)">stdio.h</span><span style="color:rgb(0,0,255)">></span></div><div><span style="color:rgb(0,0,255)">typedef</span> <span style="color:rgb(0,0,255)">struct</span> {</div><div> <span style="color:rgb(0,0,255)">double</span> a,b,c,d,e;</div><div> </div><div>}mystruct;</div><br><div><span style="color:rgb(0,0,255)">void</span> foo(mystruct ms){</div><div>  printf(<span style="color:rgb(163,21,21)">"%llu\n"</span>,(<span style="color:rgb(0,0,255)">unsigned</span> <span style="color:rgb(0,0,255)">long</span> <span style="color:rgb(0,0,255)">long</span>) &ms);</div><div>}</div><div><br></div></div></div><div><br></div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Jan 21, 2020 at 5:33 PM Momchil Velikov <<a href="mailto:momchil.velikov@gmail.com">momchil.velikov@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div style="font-family:monospace,monospace;font-size:small">Hi Kamlesh,</div><div style="font-family:monospace,monospace;font-size:small"><br></div><div style="font-family:monospace,monospace;font-size:small">Does it also happen when the parameters are used? From what I quickly tried, if the parameter is used, clang emits</div><div style="font-family:monospace,monospace;font-size:small">the location, as expected, e.g. `(DW_OP_breg0 (x0): 0)`</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Jan 21, 2020 at 11:55 AM kamlesh kumar via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div style="color:rgb(0,0,0);background-color:rgb(255,255,254)"><div><br><div>Hi Devs,</div><div>debug info emitted by llvm does not contain DW_AT_Location <span style="color:rgb(0,0,255)">for</span> Formal parameter</div><div><span style="color:rgb(0,0,255)">if</span> it is an aggregate like below <span style="color:rgb(0,0,255)">case</span></div><div><span style="color:rgb(9,136,90)">1</span>) aggregate contain more than <span style="color:rgb(9,136,90)">4</span> homogeneous and  size more than <span style="color:rgb(9,136,90)">128</span> bits</div><div>i.e.</div><div><span style="color:rgb(0,0,255)">typedef</span> <span style="color:rgb(0,0,255)">struct</span>{</div><div>    <span style="color:rgb(0,0,255)">int</span> a,b,c,d,e;</div><div>}mystruct;</div><div><span style="color:rgb(0,0,255)">void</span> foo(mystruct ms){</div><div>} </div><br><div><span style="color:rgb(9,136,90)">2</span>)  aggregate contain hetrogeneous type and size more than <span style="color:rgb(9,136,90)">128</span> bits.</div><div>i.e.</div><div><span style="color:rgb(0,0,255)">typedef</span> <span style="color:rgb(0,0,255)">struct</span>{</div><div>    <span style="color:rgb(0,0,255)">int</span> a,b;</div><div>    <span style="color:rgb(0,0,255)">float</span> c,d,e;</div><div>}mystruct;</div><div><span style="color:rgb(0,0,255)">void</span> foo(mystruct ms){</div><br><div>} </div><br><div>This occur only when aarch64 is used, not with arm and x86.</div><div>like to know community thoughts wether this can be considered as bug or it<span style="color:rgb(163,21,21)">'</span>s an abi restriction.</div></div><div><br></div><div><br></div><div>./kamlesh</div></div></div>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
</blockquote></div><br clear="all"><br>-- <br><div dir="ltr"><div dir="ltr">Compiler scrub, Arm<br></div></div>
</blockquote></div></div>