diff options
author | Craig Topper <craig.topper@sifive.com> | 2024-07-19 17:13:20 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-07-19 17:13:20 -0700 |
commit | be7f1827ff180df7d3f585432048e784eaa932ee (patch) | |
tree | 86feb5be41e82ca8bf8d0c17158e7e5042567c0b | |
parent | 8bc02bf5c6e94489a79c8d924e5d9866fcc18417 (diff) | |
download | llvm-be7f1827ff180df7d3f585432048e784eaa932ee.zip llvm-be7f1827ff180df7d3f585432048e784eaa932ee.tar.gz llvm-be7f1827ff180df7d3f585432048e784eaa932ee.tar.bz2 |
[LV] Use llvm::all_of in LoopVectorizationCostModel::getMaximizedVFForTarget. NFC (#99585)
-rw-r--r-- | llvm/lib/Transforms/Vectorize/LoopVectorize.cpp | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp b/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp index ff60bd8..6b050c1 100644 --- a/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp +++ b/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp @@ -4594,15 +4594,12 @@ ElementCount LoopVectorizationCostModel::getMaximizedVFForTarget( // Select the largest VF which doesn't require more registers than existing // ones. - for (int i = RUs.size() - 1; i >= 0; --i) { - bool Selected = true; - for (auto &pair : RUs[i].MaxLocalUsers) { - unsigned TargetNumRegisters = TTI.getNumberOfRegisters(pair.first); - if (pair.second > TargetNumRegisters) - Selected = false; - } - if (Selected) { - MaxVF = VFs[i]; + for (int I = RUs.size() - 1; I >= 0; --I) { + const auto &MLU = RUs[I].MaxLocalUsers; + if (all_of(MLU, [&](decltype(MLU.front()) &LU) { + return LU.second <= TTI.getNumberOfRegisters(LU.first); + })) { + MaxVF = VFs[I]; break; } } |