HomePhabricator

[Clang] New loop pragma vectorize_predicate

Authored by SjoerdMeijer on Jul 25 2019, 12:33 AM.

Description

[Clang] New loop pragma vectorize_predicate

This adds a new vectorize predication loop hint:

#pragma clang loop vectorize_predicate(enable)

that can be used to indicate to the vectoriser that all (load/store)
instructions should be predicated (masked). This allows, for example, folding
of the remainder loop into the main loop.

This patch will be followed up with D64916 and D65197. The former is a
refactoring in the loopvectorizer and the groundwork to make tail loop folding
a more general concept, and in the latter the actual tail loop folding
transformation will be implemented.

Differential Revision: https://reviews.llvm.org/D64744

llvm-svn: 366989

Details

Committed
SjoerdMeijerJul 25 2019, 12:33 AM
Differential Revision
D64744: #pragma clang loop vectorize_predicate(enable|disable)
Parents
rG3e023a6dbcec: [ELF][MIPS] Improve tests
Branches
Unknown
Tags
Unknown