[llvm-dev] [LLVMdev] Improving loop vectorizer support for loops with a volatile iteration variable

Philip Reames via llvm-dev llvm-dev at lists.llvm.org
Wed Aug 19 09:59:26 PDT 2015


On 08/18/2015 08:52 PM, Hal Finkel via llvm-dev wrote:
>
> ------------------------------------------------------------------------
>
>     *From: *"Gerolf Hoflehner" <ghoflehner at apple.com>
>     *To: *"Hal Finkel" <hfinkel at anl.gov>
>     *Cc: *"Hyojin Sung" <hsung at us.ibm.com>, "llvm-dev"
>     <llvm-dev at lists.llvm.org>
>     *Sent: *Thursday, August 13, 2015 7:50:27 PM
>     *Subject: *Re: [LLVMdev] Improving loop vectorizer support for
>     loops with a volatile iteration variable
>
>     Hi Hal,
>
>     Please see below. I like your break down.
>
>         On Aug 13, 2015, at 11:00 AM, Hal Finkel <hfinkel at anl.gov
>         <mailto:hfinkel at anl.gov>> wrote:
>
>         Hi Gerolf,
>
>         I think we have several (perhaps separable) issues here:
>
>         1. Do we have a canonical form for loops, preserved through
>         the optimizer, that allows naturally-constructed loop nests to
>         remain separable?
>
>     Are you going to take a stab at the documentation like you mention
>     below?
>
>
> I'm really not the right person to do this; but I'm happy to help. 
> Chandler also told me that he would help. The basic structure is 
> described in the comments at the top of LoopSimplify.cpp, and there 
> are some additional comments regarding nested loops interspersed with 
> the code. Then there is LCSSA (which is described briefly in 
> LCSSA.cpp). Starting from those pieces likely makes sense.
I'm happy to volunteer myself and Sanjoy to help out here.  If someone 
wants to take a first pass, we're happy to help revise and point out the 
exceptions to the general rules we've encountered. Having this 
documented would be very helpful.

Philip

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150819/0d9f2b35/attachment.html>


More information about the llvm-dev mailing list