<div dir="ltr"><div><div>Thanks a lot for your input. We will look more into the legality and profitability checks you've mentioned.<br><br></div><div>-Qi<br></div></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">
On Tue, Nov 12, 2013 at 7:32 PM, Nadav Rotem <span dir="ltr"><<a href="mailto:nrotem@apple.com" target="_blank">nrotem@apple.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi Qi,<br>
<br>
No, we don’t have loop fusion.  The loop fusion transformation itself is easy, but the profitability and legality checks are challenging.  For legality, you would need to analyze the memory that you access and figure out that it is legal to fuse the loops. For profitability you would need to predict the effect on performance. You would need to predict register pressure and resource utilization, which is difficult to do.<br>

<br>
Thanks,<br>
Nadav<br>
<div><div class="h5"><br>
On Nov 12, 2013, at 8:39 AM, Qi Liao <<a href="mailto:qiliao@umich.edu">qiliao@umich.edu</a>> wrote:<br>
<br>
> Hi,<br>
><br>
> I am a student and my team is trying to identify a suitable topic for our compiler class final project. The requirement is to implement some optimization in LLVM that is not already existed, at least not in the list of standard opt that LLVM already has. We are looking at loop fusion as a potential candidate topic. Since we are all new to LLVM we would like to ask for experts' opinions here if there already is a well known implementation of loop fusion pass existed, and if not, is there a particular reason that it is not done given such optimization is fairly standard?<br>

><br>
> Thank you.<br>
><br>
> -Qi<br>
</div></div>> _______________________________________________<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>