[PATCH] #pragma vectorize

Tyler Nowicki tnowicki at apple.com
Mon Apr 28 17:09:13 PDT 2014


It would be very useful for auto-tuning libraries certainly. I am not sure how to support it currently. I suggest we leave it for a future commit.

Thanks,

Tyler

On Apr 28, 2014, at 4:57 PM, Hal Finkel <hfinkel at anl.gov> wrote:

> ----- Original Message -----
>> From: "Tyler Nowicki" <tnowicki at apple.com>
>> To: "Alexander Musman" <alexander.musman at gmail.com>
>> Cc: "Alexey Bataev" <a.bataev at hotmail.com>, "llvm cfe" <cfe-commits at cs.uiuc.edu>, "Nadav Rotem" <nrotem at apple.com>
>> Sent: Monday, April 28, 2014 6:53:40 PM
>> Subject: Re: [PATCH] #pragma vectorize
>> 
>> 
>> 
>> Hi Alexander,
>> 
>> Thanks for the review. I’ve updated the patch with your most of your
>> suggestions.
>> 
>> Please review the updated patch.
>> 
>>> Do you plan to support substitution of integer template parameters
>>> into pragma? Here is example:
>>>> cat ploop.cpp
>>> template <int VLEN> void while_test(int *List, int Length) {
>>> int i = 0;
>>> #pragma loop vectorize(VLEN)
>>> while(i < Length) {
>>> List[i] = i*2;
>>> i++;
>>> }
>>> }
>>> int main() {
>>> int L[100];
>>> while_test<4> (L, 100);
>>> return 0;
>>> }
>> 
>> I considered this, it is not currently supported. I’m not sure if it
>> makes sense. Lets leave this as a topic of future work for now.
> 
> This kind of use case *must* be supported, it is very important for libraries that auto-tune. Is there some reason that it is complicated to support?
> 
> -Hal
> 
>> 
>>> 
>>> ParsePragma.cpp:1619: // Read '('
>>> This looks like a good place to use BalancedDelimiterTracker for
>>> parsing '(' and ')’.
>> 
>> I don’t think it is needed. It isn’t used by any other #pragma
>> directives and the syntax here is rather simple. What do you think
>> would be the benefit?
>> 
>> Tyler
>> 
>> 
>> 
>> _______________________________________________
>> cfe-commits mailing list
>> cfe-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
>> 
> 
> -- 
> Hal Finkel
> Assistant Computational Scientist
> Leadership Computing Facility
> Argonne National Laboratory

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20140428/679152a3/attachment.html>


More information about the cfe-commits mailing list