<div dir="auto"><div>Adrian,<div dir="auto">Yes it is unoptimized.I will file a bug for this.</div><div dir="auto"><br></div><div dir="auto">Thanks</div><br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Jan 22, 2020, 1:40 AM Adrian Prantl <<a href="mailto:aprantl@apple.com">aprantl@apple.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word;line-break:after-white-space">If this is unoptimized code this is definitely a bug, with optimizations it may not be possible to do any better. In both cases it's worth filing a bug and attaching a clang reproducer (by running clang through <span style="color:rgba(0,0,0,0.847)">env FORCE_CLANG_DIAGNOSTICS_CRASH=1).</span><div><span style="color:rgba(0,0,0,0.847)"><br></span></div><div><span style="color:rgba(0,0,0,0.847)">-- adrian<br></span><div><br><blockquote type="cite"><div>On Jan 21, 2020, at 3:54 AM, kamlesh kumar via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank" rel="noreferrer">llvm-dev@lists.llvm.org</a>> wrote:</div><br><div><div dir="ltr"><div style="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" rel="noreferrer">llvm-dev@lists.llvm.org</a><br><a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" target="_blank" rel="noreferrer">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br></div></blockquote></div><br></div></div></blockquote></div></div></div>