[PATCH] #pragma vectorize

Tyler Nowicki tnowicki at apple.com
Tue Apr 22 16:54:27 PDT 2014


Please review this updated patch. It includes the changes we discussed. Thanks for all your input!

Tyler




On Apr 22, 2014, at 2:30 PM, Tyler Nowicki <tnowicki at apple.com> wrote:

> Hi Hal,
> 
> Thanks for the reply.
> 
>> Maybe we're looking at this the wrong way... what about?
>> 
>> pragma loop vectorize(width/enable/disable) interleave(count/enable/disable)
> 
> I like this more, especially because its clear it applies only to loops.
> 
>> 
>>> enable/disable don’t add
>>> anything that isn’t already part of pragma vectorize enable/disable,
>>> and specifying `#pragma vectorize disable’ would disable
>>> interleaving.
>> 
>> But that's a bug. Are you sure that's what happens?
> 
> I could be mistaken. This is what is in LoopVectorize at the top of processLoop()
> 
>     if (Hints.Force == 0) {
>       DEBUG(dbgs() << "LV: Not vectorizing: #pragma vectorize disable.\n");
>       return false;
>     }
> 
> And the unrolling occurs later in processLoop(). I thought it was a feature… but yea, lets fix it.
> 
>> 
>>> 
>>> 
>>> As for safety, how about #pragma vectorize aggressive?
>> 
>> I don't like that; *that* sounds like a cost-model adjustment. The user is asserting something about the property of the loop, and we should try to capture that property. Although this may just be confusing, "vectorizable" is what we mean.
> 
> `nodependence’? 
> 
> Thanks,
> 
> Tyler
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20140422/4dce8bad/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pragma_vectorize-svn.patch
Type: application/octet-stream
Size: 23557 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20140422/4dce8bad/attachment.obj>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20140422/4dce8bad/attachment-0001.html>


More information about the cfe-commits mailing list