[PATCH] #pragma vectorize

Tyler Nowicki tnowicki at apple.com
Mon Jun 2 16:18:27 PDT 2014


Hi Richard,

Thanks again for the review. I’m glad to hear its getting closer. I’ve applied your suggestions. Here is the updated patch.

> Once you move to supporting arbitrary constant expressions as the argument, I think you may want to split this into two separate Attrs (one for vectorize and interleave, that have a BoolArgument, and one for vectorize_width and interleave_count, that have an ExprArgument).
> 
> I also think we should have different spellings for these different enum values, once we have proper pragma spelling support:
> 
>   let Spellings = [Pragma<"clang", "loop", "vectorize_width">,
>                    Pragma<"clang", "loop", "interleave_count">];
>   let Args = [ExprArgument<"Value">];
> 
> ... but that can all be deferred for a later patch.

I like the idea of separating the LoopHintAttrs that may make it easier to support c++11 spellings as well.

Tyler

-------------- next part --------------
A non-text attachment was scrubbed...
Name: pragma_loop-svn.patch
Type: application/octet-stream
Size: 46340 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20140602/2a1078ab/attachment.obj>


More information about the cfe-commits mailing list