[PATCH] #pragma vectorize

Hal Finkel hfinkel at anl.gov
Mon Apr 28 16:57:15 PDT 2014


----- 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


More information about the cfe-commits mailing list