[llvm] [LV] Emit better debug and opt-report messages when vectorization is disallowed in the LoopVectorizer (PR #158513)
Florian Hahn via llvm-commits
llvm-commits at lists.llvm.org
Sun Nov 9 13:22:51 PST 2025
Tibor =?utf-8?q?Gy=C5=91ri?= <tibor.gyori at chem.u-szeged.hu>,GYT
<tiborgyri at gmail.com>,GYT <tiborgyri at gmail.com>,GYT <tiborgyri at gmail.com>,GYT
<tiborgyri at gmail.com>,GYT <tiborgyri at gmail.com>,GYT <tiborgyri at gmail.com>,GYT
<tiborgyri at gmail.com>,GYT <tiborgyri at gmail.com>,GYT <tiborgyri at gmail.com>,
Tibor =?utf-8?q?Gy=C5=91ri?= <tibor.gyori at chem.u-szeged.hu>,GYT
<tiborgyri at gmail.com>,GYT <tiborgyri at gmail.com>,GYT <tiborgyri at gmail.com>,GYT
<tiborgyri at gmail.com>,GYT <tiborgyri at gmail.com>,GYT <tiborgyri at gmail.com>
Message-ID:
In-Reply-To: <llvm.org/llvm/llvm-project/pull/158513 at github.com>
================
@@ -0,0 +1,101 @@
+; TEST 1
+; This test checks that we emit only the correct debug messages and
+; optimization remark when the loop vectorizer is disabled by loop metadata.
+
+; REQUIRES: asserts
+; RUN: opt -passes=loop-vectorize -pass-remarks=loop-vectorize \
+; RUN: -pass-remarks-missed=loop-vectorize \
+; RUN: -pass-remarks-analysis=loop-vectorize -debug -disable-output \
+; RUN: < %s 2>&1 | FileCheck --check-prefix=METADATA %s
+; METADATA-NOT: LV: We can vectorize this loop
+; METADATA-NOT: LV: Not vectorizing: loop hasDisableAllTransformsHint
+; METADATA-NOT: LV: Not vectorizing: VectorizeOnlyWhenForced is set
+; METADATA-NOT: LV: Not vectorizing: Disabled/already vectorized
+; METADATA-NOT: LV: Not vectorizing: Cannot prove legality
+; METADATA: LV: Loop hints: force=disabled
+; METADATA: LV: Not vectorizing: #pragma vectorize disable.
+; METADATA: remark:
+; METADATA-SAME: loop not vectorized: vectorization is explicitly disabled
+; METADATA: LV: Loop hints prevent vectorization
+
+; TEST 2
+; This test checks that we emit only the correct debug messages and
+; optimization remark when the loop is not vectorized due to the
+; vectorize-forced-only pass option being set.
+
+; Strip metadata for FORCEDONLY run, keep it for METADATA run
+; RUN: sed 's/,[[:space:]]*!llvm\.loop[[:space:]]*!0//' %s | \
+; RUN: opt -passes='loop-vectorize<vectorize-forced-only>' \
+; RUN: -pass-remarks=loop-vectorize \
+; RUN: -pass-remarks-missed=loop-vectorize \
+; RUN: -pass-remarks-analysis=loop-vectorize -debug -disable-output \
+; RUN: 2>&1 | FileCheck --check-prefix=FORCEDONLY %s
----------------
fhahn wrote:
yes all run lines
https://github.com/llvm/llvm-project/pull/158513
More information about the llvm-commits
mailing list