Add 'aggressive' keyword for pragma loop hints

Hal Finkel hfinkel at anl.gov
Fri Jun 5 18:48:13 PDT 2015


Hi Tyler,

To bikeshed at bit, I don't like 'aggressive'. What we're really doing here is allowing the user to assert that vectorization is safe, and I'd highly prefer the syntax reflect that. I'll suggest vectorize(assume_safety) as an alternative.

 -Hal

----- Original Message -----
> From: "Tyler Nowicki" <tnowicki at apple.com>
> To: cfe-commits at cs.uiuc.edu
> Sent: Friday, June 5, 2015 6:41:42 PM
> Subject: Add 'aggressive' keyword for pragma loop hints
> 
> 
> 
> Hi,
> 
> This patch (0003) adds support for the keyword aggressive to be used
> with pragma loop hints. Specifying aggressive for vectorize or
> interleave will add mem.parallel_loop_access metadata to
> loads/stores within the loop. This uses the LoopInfo InsertHelper
> provided for OpenMP.
> 
> The new pragma syntax:
> 
> #pragma clang loop vectorize(aggressive) interleave(aggressive)
> 
> The metadata vectorize.enable will be modified in a follow-up patch
> to an integer. 0 - disable, 1 - enable, 2 - aggressive. This will be
> combined with an LLVM patch to identify the aggressive option and
> override the cost model, and potentially other restrictions on
> vectorization/interleaving.
> 
> Patch 0001 moves some pragma loop hints to the correct folder and
> 0002 fixes a small diagnostic bug.
> 
> 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