diff options
author | Matthew Simpson <mssimpso@codeaurora.org> | 2016-09-08 19:11:07 +0000 |
---|---|---|
committer | Matthew Simpson <mssimpso@codeaurora.org> | 2016-09-08 19:11:07 +0000 |
commit | 408a3abcfe1aa9e8272490e4713134d7152c2ec2 (patch) | |
tree | 5990e210d76fc1aab75d2e129e77e56ba7dcb60d /llvm/tools/llvm-cov/SourceCoverageViewText.cpp | |
parent | 22b652dbf868a3f051dc91687ace4097f96df476 (diff) | |
download | llvm-408a3abcfe1aa9e8272490e4713134d7152c2ec2.zip llvm-408a3abcfe1aa9e8272490e4713134d7152c2ec2.tar.gz llvm-408a3abcfe1aa9e8272490e4713134d7152c2ec2.tar.bz2 |
[LV] Don't mark pointers used by scalarized memory accesses uniform
Previously, all consecutive pointers were marked uniform after vectorization.
However, if a consecutive pointer is used by a memory access that is eventually
scalarized, the pointer won't remain uniform after all. An example is
predicated stores. Even though a predicated store may be consecutive, it will
still be scalarized, making it's pointer operand non-uniform.
This patch updates the logic in collectLoopUniforms to consider the cases where
a memory access may be scalarized. If a memory access may be scalarized, its
pointer operand is not marked uniform. The determination of whether a given
memory instruction will be scalarized or not has been moved into a common
function that is used by the vectorizer, cost model, and legality analysis.
Differential Revision: https://reviews.llvm.org/D24271
llvm-svn: 280979
Diffstat (limited to 'llvm/tools/llvm-cov/SourceCoverageViewText.cpp')
0 files changed, 0 insertions, 0 deletions