diff options
author | Florian Hahn <flo@fhahn.com> | 2023-05-31 16:00:57 +0100 |
---|---|---|
committer | Florian Hahn <flo@fhahn.com> | 2023-05-31 16:01:00 +0100 |
commit | 572cfa3fde5433c889b339e9cfa6dfaa23e5f2ee (patch) | |
tree | bd77951dc3324e944e460fd0b3ef28a46480dbe8 /lldb/source/Plugins/Language/CPlusPlus/LibStdcpp.cpp | |
parent | 4369de7af46605522bf7dbe3bc31d00b0eb4bee6 (diff) | |
download | llvm-572cfa3fde5433c889b339e9cfa6dfaa23e5f2ee.zip llvm-572cfa3fde5433c889b339e9cfa6dfaa23e5f2ee.tar.gz llvm-572cfa3fde5433c889b339e9cfa6dfaa23e5f2ee.tar.bz2 |
[LV] Use SCEV for uniformity analysis across VF
This patch uses SCEV to check if a value is uniform across a given VF.
The basic idea is to construct SCEVs where the AddRecs of the loop are
adjusted to reflect the version in the vectorized loop (Step multiplied
by VF). We construct a SCEV for the value of the vector lane 0
(offset 0) compare it to the expressions for lanes 1 to the last vector
lane (VF - 1). If they are equal, consider the expression uniform.
While re-writing expressions, we also need to catch expressions we
cannot determine uniformity (e.g. SCEVUnknown).
Reviewed By: Ayal
Differential Revision: https://reviews.llvm.org/D148841
Diffstat (limited to 'lldb/source/Plugins/Language/CPlusPlus/LibStdcpp.cpp')
0 files changed, 0 insertions, 0 deletions