<div dir="ltr">I think in general, yes, this is probably the right way to optimize aggregate loads and stores. Most people agree that it is more canonical to use scalar loads and stores, so it's reasonable to transform one to the other.<div><br></div><div>I'm not sure SROA is the right place to handle this, though. I believe it only operates on structures allocated on the stack. If you want to load and store to the heap, you'll need a different pass.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Sep 28, 2014 at 12:46 AM, deadal nix <span dir="ltr"><<a href="mailto:deadalnix@gmail.com" target="_blank">deadalnix@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">ping ?<br></div><div class="gmail_extra"><br><div class="gmail_quote">2014-09-20 23:42 GMT-07:00 deadal nix <span dir="ltr"><<a href="mailto:deadalnix@gmail.com" target="_blank">deadalnix@gmail.com</a>></span>:<div><div class="h5"><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div><div>Hi all,<br><br></div>One area where LLVM suck pretty badly is aggregate store and loads. clang do not use them so there are not seen as important, and aren't handled nicely. Other frontends work around the issue as it is not handled properly and we ends up with some kind of chicken and egg issue.<br><br></div>I recently proposed a diff to be able to optimize load from aggregate stores in GVN without great success. Interest was unclear to some and alteration of GVN was a concern to many.<br><br></div>I'd like to improve the aggregate support. SROA is deaggregating from alloca. Would the same approach for other loads./store be preferable ? That would give a way to use the existing infrastructure while providing a good support for aggregate.<br><br></div>If yes, what would be the right place and way to do this ?<br></div>
</blockquote></div></div></div><br></div>
<br>_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a>         <a href="http://llvm.cs.uiuc.edu" target="_blank">http://llvm.cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>
<br></blockquote></div><br></div>