[llvm-bugs] [Bug 46652] New: opt -loop-vectorize fails with llvm::LoopVectorizationCostModel::runtimeChecksRequired(): Assertion `Legal->getLAI()->getSymbolicStrides().empty() && "Specializing for stride == 1 under -Os/-Oz"' failed.
via llvm-bugs
llvm-bugs at lists.llvm.org
Thu Jul 9 01:01:24 PDT 2020
https://bugs.llvm.org/show_bug.cgi?id=46652
Bug ID: 46652
Summary: opt -loop-vectorize fails with
llvm::LoopVectorizationCostModel::runtimeChecksRequire
d(): Assertion
`Legal->getLAI()->getSymbolicStrides().empty() &&
"Specializing for stride == 1 under -Os/-Oz"' failed.
Product: libraries
Version: trunk
Hardware: PC
OS: Linux
Status: NEW
Severity: enhancement
Priority: P
Component: Loop Optimizer
Assignee: unassignedbugs at nondot.org
Reporter: mikael.holmen at ericsson.com
CC: llvm-bugs at lists.llvm.org
Created attachment 23708
--> https://bugs.llvm.org/attachment.cgi?id=23708&action=edit
bbi-45006.ll reproducer
Reproduce with:
opt -o /dev/null -loop-vectorize bbi-45006.ll
Result:
opt: ../lib/Transforms/Vectorize/LoopVectorize.cpp:4941: bool
llvm::LoopVectorizationCostModel::runtimeChecksRequired(): Assertion
`Legal->getLAI()->getSymbolicStrides().empty() && "Specializing for stride == 1
under -Os/-Oz"' failed.
Starts failing with 7bf299c8d8d5:
[LV] Vectorize without versioning-for-unit-stride under -Os/-Oz
If a loop is in a function marked OptSize, Loop Access Analysis should
refrain
from generating runtime checks for unit strides that will version the loop.
If a loop is in a function marked OptSize and its vectorization is enabled,
it
should be vectorized w/o any versioning.
Fixes PR46228.
Differential Revision: https://reviews.llvm.org/D81345
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20200709/132abac2/attachment.html>
More information about the llvm-bugs
mailing list