<html><head><meta http-equiv="Content-Type" content="text/html; charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">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="caret-color: rgba(0, 0, 0, 0.847); color: rgba(0, 0, 0, 0.847);" class="">env FORCE_CLANG_DIAGNOSTICS_CRASH=1).</span><div class=""><span style="caret-color: rgba(0, 0, 0, 0.847); color: rgba(0, 0, 0, 0.847);" class=""><br class=""></span></div><div class=""><span style="caret-color: rgba(0, 0, 0, 0.847); color: rgba(0, 0, 0, 0.847);" class="">-- adrian<br class=""></span><div><br class=""><blockquote type="cite" class=""><div class="">On Jan 21, 2020, at 3:54 AM, kamlesh kumar via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" class="">llvm-dev@lists.llvm.org</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class=""><div style="background-color: rgb(255, 255, 254);" class=""><div class=""><br class=""><div class="">Hi Devs,</div><div class="">debug info emitted by llvm does not contain DW_AT_Location <span style="color:rgb(0,0,255)" class="">for</span> Formal parameter</div><div class=""><span style="color:rgb(0,0,255)" class="">if</span> it is an aggregate like below <span style="color:rgb(0,0,255)" class="">case</span></div><div class=""><span style="color:rgb(9,136,90)" class="">1</span>) aggregate contain more than <span style="color:rgb(9,136,90)" class="">4</span> homogeneous and size more than <span style="color:rgb(9,136,90)" class="">128</span> bits</div><div class="">i.e.</div><div class=""><span style="color:rgb(0,0,255)" class="">typedef</span> <span style="color:rgb(0,0,255)" class="">struct</span>{</div><div class=""> <span style="color:rgb(0,0,255)" class="">int</span> a,b,c,d,e;</div><div class="">}mystruct;</div><div class=""><span style="color:rgb(0,0,255)" class="">void</span> foo(mystruct ms){</div><div class="">} </div><br class=""><div class=""><span style="color:rgb(9,136,90)" class="">2</span>) aggregate contain hetrogeneous type and size more than <span style="color:rgb(9,136,90)" class="">128</span> bits.</div><div class="">i.e.</div><div class=""><span style="color:rgb(0,0,255)" class="">typedef</span> <span style="color:rgb(0,0,255)" class="">struct</span>{</div><div class=""> <span style="color:rgb(0,0,255)" class="">int</span> a,b;</div><div class=""> <span style="color:rgb(0,0,255)" class="">float</span> c,d,e;</div><div class="">}mystruct;</div><div class=""><span style="color:rgb(0,0,255)" class="">void</span> foo(mystruct ms){</div><br class=""><div class="">} </div><br class=""><div class="">This occur only when aarch64 is used, not with arm and x86.</div><div class="">like to know community thoughts wether this can be considered as bug or it<span style="color:rgb(163,21,21)" class="">'</span>s an abi restriction.</div></div><div class=""><br class=""></div><div class=""><br class=""></div><div class="">./kamlesh</div></div></div>
_______________________________________________<br class="">LLVM Developers mailing list<br class=""><a href="mailto:llvm-dev@lists.llvm.org" class="">llvm-dev@lists.llvm.org</a><br class="">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev<br class=""></div></blockquote></div><br class=""></div></body></html>