Add 'aggressive' keyword for pragma loop hints

Tyler Nowicki tnowicki at apple.com
Fri Jun 5 16:41:42 PDT 2015


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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Moved-CPP-tests-to-CodeGenCXX.patch
Type: application/octet-stream
Size: 24288 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20150605/8abc7171/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0002-Fixed-incorrect-diagnostic-message.patch
Type: application/octet-stream
Size: 2771 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20150605/8abc7171/attachment-0001.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0003-Add-aggressive-option-for-pragma-loop-hints.patch
Type: application/octet-stream
Size: 16849 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20150605/8abc7171/attachment-0002.obj>


More information about the cfe-commits mailing list