[LLVMdev] Single Exit Loops

Ryan Taylor ryta1203 at gmail.com
Fri Jan 6 13:10:32 PST 2012


Ralf,

  Ok, thanks, I'll have a look. The paper I was referencing was
http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.94.668 from '90 I
believe. There is also an Intel paper the expands on this for the Itanium.

On Fri, Jan 6, 2012 at 12:34 PM, Ralf Karrenberg <
karrenberg at cdl.uni-saarland.de> wrote:

> Hi,
>
> I am not sure if I know the paper you mentioned, but to my knowledge LLVM
> is only able to do such a transformation in very limited and obvious cases.
> We implemented phases that do a generic linearization of control flow as
> part of our "whole function vectorization" algorithm:
>
> www.cdl.uni-saarland.de/**projects/wfv<http://www.cdl.uni-saarland.de/projects/wfv>
>
> The code is not really public yet because we are still working to get it
> more stable and mature overall before having the entire LLVM community be
> aware of it, but you can still access it at github if you want to take a
> look at it:
>
> github.com/karrenberg/whole-**function-vectorization<http://github.com/karrenberg/whole-function-vectorization>
>
> The most important classes are probably "MaskGeneration",
> "SelectGeneration", and "CFGLinearization" if you are targeting a machine
> without predicated execution.
> The basis for the control-flow linearization is derived from Allen and
> Kennedy's "Conversion of control dependence to data dependence" (1983).
> A detailed description of what we do is given in our corresponding paper.
>
> Best,
> Ralf
>
>
> On 1/4/12 8:46 PM, Ryan Taylor wrote:
>
>> Is there anything within llvm that uses a transformation to create
>> single exit loops from multiple exit loops? For example, such as
>> Tirumalai's paper: Parallelization of
>> Loops with Exits on Pipelined Architectures?
>>
>>
>> ______________________________**_________________
>> LLVM Developers mailing list
>> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
>> http://lists.cs.uiuc.edu/**mailman/listinfo/llvmdev<http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20120106/e7a5d073/attachment.html>


More information about the llvm-dev mailing list