[all-commits] [llvm/llvm-project] db49a7: [SLP] Add a clarifying assert in block scheduling ...
Philip Reames via All-commits
all-commits at lists.llvm.org
Fri Jan 28 11:09:16 PST 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: db49a78900f5e4b59714565876b5dbb5e2dfe840
https://github.com/llvm/llvm-project/commit/db49a78900f5e4b59714565876b5dbb5e2dfe840
Author: Philip Reames <listmail at philipreames.com>
Date: 2022-01-28 (Fri, 28 Jan 2022)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP] Add a clarifying assert in block scheduling [NFC]
The fact we could have a block with a valid scheduling window, but nothing to schedule was surprising to me. After digging through the code, this can only happen if we don't find anything to directly vectorize. However, the reduction handling code relies on this mode, so we can't simply consider such trees unvectorizeable. The assert conveys both that this situation can happen, but also that it can *only* happen for an immediate gather.
Context: We built the bundle before deciding that vectorization of a bundle is possible. A side effect of bundle construction is manipulating the scheduling window, so a bundle which isn't vectorizable can cause the creation or expansion of a scheduling window.
More information about the All-commits
mailing list