[llvm] LoopVectorize: update comment following 63d8058 (NFC) (PR #91120)
Ramkumar Ramachandra via llvm-commits
llvm-commits at lists.llvm.org
Sun May 5 05:50:56 PDT 2024
https://github.com/artagnon created https://github.com/llvm/llvm-project/pull/91120
Address a review comment post landing 63d8058 (LoopVectorize: guard appending InstsToScalarize; fix bug) to update a comment.
>From 3d65064a1ddd729272bb8e2d9cb602700fdee372 Mon Sep 17 00:00:00 2001
From: Ramkumar Ramachandra <r at artagnon.com>
Date: Sun, 5 May 2024 13:43:01 +0100
Subject: [PATCH] LoopVectorize: update comment following 63d8058 (NFC)
Address a review comment post landing 63d8058 (LoopVectorize: guard
appending InstsToScalarize; fix bug) to update a comment.
---
llvm/lib/Transforms/Vectorize/LoopVectorize.cpp | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp b/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
index 3be0102bea3e34..0c2a87bde9d76a 100644
--- a/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+++ b/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
@@ -5813,10 +5813,11 @@ void LoopVectorizationCostModel::collectInstsToScalarize(ElementCount VF) {
for (Instruction &I : *BB)
if (isScalarWithPredication(&I, VF)) {
ScalarCostsTy ScalarCosts;
- // Do not apply discount if scalable, because that would lead to
- // invalid scalarization costs.
- // Do not apply discount logic if hacked cost is needed
- // for emulated masked memrefs.
+ // Do not apply discount logic for:
+ // 1. Scalars after vectorization, as there will only be a single copy
+ // of the instruction.
+ // 2. Scalable VF, as that would lead to invalid scalarization costs.
+ // 3. Emulated masked memrefs, if a hacked cost is needed.
if (!isScalarAfterVectorization(&I, VF) && !VF.isScalable() &&
!useEmulatedMaskMemRefHack(&I, VF) &&
computePredInstDiscount(&I, ScalarCosts, VF) >= 0)
More information about the llvm-commits
mailing list