diff options
author | Malhar <malhar.jajoo@arm.com> | 2021-02-13 15:57:21 -0600 |
---|---|---|
committer | Michael Kruse <llvm-project@meinersbur.de> | 2021-02-13 17:35:54 -0600 |
commit | 74ddacd30de54e19b28218bc8563bd0f34f32cad (patch) | |
tree | 8ebbefc3741c61d43f6e4a6e50dda7818851b4d5 /llvm/lib/CodeGen/LiveDebugVariables.cpp | |
parent | 53187f1eeccb22ab6ef3f5ba5acfbe0ebeed1dbd (diff) | |
download | llvm-74ddacd30de54e19b28218bc8563bd0f34f32cad.zip llvm-74ddacd30de54e19b28218bc8563bd0f34f32cad.tar.gz llvm-74ddacd30de54e19b28218bc8563bd0f34f32cad.tar.bz2 |
[Clang] Ensure vector predication loop metadata is always emitted when pragma is specified.
This patch ensures that vector predication and vectorization width
pragmas work together correctly/as expected. Specifically, this patch
fixes the issue that when vectorization_width > 1, the vector
predication behaviour (this would matter if it has NOT been disabled
explicitly by a pragma) was getting ignored, which was incorrect.
The fix here removes the dependence of vector predication on the
vectorization width. The loop metadata corresponding to clang loop
pragma vectorize_predicate is always emitted, if the pragma is
specified, even if vectorization is disabled by vectorize_width(1)
or vectorize(disable) since the option is also used for interleaving
by the LoopVectorize pass.
Reviewed By: dmgreen, Meinersbur
Differential Revision: https://reviews.llvm.org/D94779
Diffstat (limited to 'llvm/lib/CodeGen/LiveDebugVariables.cpp')
0 files changed, 0 insertions, 0 deletions