hi,<br><br><div class="gmail_quote">On Thu, May 6, 2010 at 4:40 PM, Renato Golin <span dir="ltr"><<a href="mailto:rengolin@systemcall.org">rengolin@systemcall.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div class="im">On 6 May 2010 05:34, Chris Lattner <<a href="mailto:clattner@apple.com">clattner@apple.com</a>> wrote:<br>
> On May 5, 2010, at 1:01 PM, Rajkishore Barik wrote:<br>
</div><div class="im">>> I would also like to know if there is any progress/future plans to<br>
>> include this<br>
>> in the main trunk?<br>
><br>
> Unfortunately, nothing came of this project AFAIK, maybe Devang knows more.<br>
<br>
</div>I looked for it and couldn't find any, too. I found some<br>
alias/dependency analysis inside loops, but nothing actively trying to<br>
merge instructions.<br>
<br>
WRT progress/plans, there is the Poly project<br>
(<a href="http://wiki.llvm.org/Polyhedral_optimization_framework" target="_blank">http://wiki.llvm.org/Polyhedral_optimization_framework</a>) that is an<br>
external representation to LLVM and could make much easier to map<br>
dependencies and leave the road open for auto-vec, but again, nothing<br>
on that direction has been done, too. </blockquote><div>Yep, we are only translate LLVM IR to Polyhedral Represent (or Polly IR) and translate them back to LLVM IR at this moment.<br><br>After this is stage, we export the Polly IRs with openscop library (INRIA will public this in soon), and do something like auto-vectorization on (exported) Polly IR, then import them into llvm and translate them back to LLVM IR.<br>
<br>But as i had discuss with tobi, we may not generate the "vectorized" or "parallelized " LLVM IR directly from Polly IR, instead, we may annotate the information such as "this loop is a parallel loop", or "dependence distance of this loop is 8" to LLVM IR in the form of metadata. Or, we will provide a analysis pass to hold such information.<br>
<br>Then we can write passes that use these metadata (or analysis pass) to transform LLVM IR to do vectorization and parallelization for SIMD architecture, OpenMP,  OpenCL and so on.<br><br>Any comment or suggestion is welcome :)<br>
<br>best regards<br>ether<br><br></div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">Tobias and Ether should know<br>
more on that.<br>
<br>
cheers,<br>
--renato<br>
<br>
<a href="http://systemcall.org/" target="_blank">http://systemcall.org/</a><br>
<br>
Reclaim your digital rights, eliminate DRM, learn more at<br>
<a href="http://www.defectivebydesign.org/what_is_drm" target="_blank">http://www.defectivebydesign.org/what_is_drm</a><br>
<div><div></div><div class="h5">_______________________________________________<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>
</div></div></blockquote></div><br>