[all-commits] [llvm/llvm-project] c0a7bb: [VPlan] Scalarize to first-lane-only directly on V...
Andrei Elovikov via All-commits
all-commits at lists.llvm.org
Mon Mar 2 15:58:48 PST 2026
Branch: refs/heads/users/eas/vplan-based-first-lane-only-scalarize
Home: https://github.com/llvm/llvm-project
Commit: c0a7bb30d696f04d019c51f0b1248f38df25ff8a
https://github.com/llvm/llvm-project/commit/c0a7bb30d696f04d019c51f0b1248f38df25ff8a
Author: Andrei Elovikov <andrei.elovikov at sifive.com>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-print-after-all.ll
M llvm/test/Transforms/LoopVectorize/X86/drop-poison-generating-flags.ll
M llvm/test/Transforms/LoopVectorize/pr37248.ll
M llvm/test/Transforms/LoopVectorize/runtime-check-needed-but-empty.ll
Log Message:
-----------
[VPlan] Scalarize to first-lane-only directly on VPlan
This is needed to enable subsequent https://github.com/llvm/llvm-project/pull/182595.
I don't think we can fully port all scalarization logic from the legacy
path to VPlan-based right now because that would require us to introduce
interleave groups much earlier in VPlan pipeline, and without that we
can't really `assert` this new decision matches the previous CM-based
one. And without those `assert`s it's really hard to ensure we properly
port all the previous logic.
As such, I decided just to implement something much simpler that would
be enough for #182595. However, we perform this transformation before
delegating to the old CM-based decision, so it **is** effective
immediately and taking precedence even for consecutive loads/stores
right away.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list